Diziler dersimizde :
- Dizi nedir?
- Dizi Tanımlama
- Diziye Değer Atama
- Dizi İçindeki Verileri Ekrana Yazdırma
- Dinamik Diziler
hakkında bilgi verdik.
Dizi Nedir?
Dizileri birden fazla değer alabilen değişkenler olarak düşünebilirsiniz. Diğer bir tanımı aynı türdeki verileri tek bir isim altında saklamamızı sağlayan değişkenlere dizi denir.
Diziler içlerinde birden fazla değeri tutabilme özelliğine sahiptir.
C# Dizi Tanımlama
Dizi tanımlamak için ilk olarak dizinin tipini yani integer, string, double vs. tanımlamamız gerekmektedir. Daha sonra dizi ismi ve dizinin kaç elemanlı olacağı girilmektedir.
Dizi_tipi[] dizi_ismi=new dizi_tipi[eleman_sayısı];
Tamsayı Dizi Oluşturma
10 elemanlı tamsayı rakamlar isimli bir dizi oluşturduk.
int[] rakamlar=new int[10];
Metinsel Dizi Oluşturma
10 elemanlı metinsel yani string bir dizinin nasıl oluşturulduğunu aşağıdaki kodlara bakarak öğrenebilirsiniz.
string[] isimler=new string[10];
C# Diziye Değer Atama
C# programlama dilinde diziye değer atama işlemi 2 farklı yöntemle yapılmaktadır. Diziye eleman girdirmek için istediğiniz yöntemi kullanabilirsiniz.
Yöntem 1:
Dizi_ismi[0]="…";
Dizi_ismi[1]="…";
Dizi_ismi[2]="…";
.
.
.
Dizi_ismi[n]="…";
Yöntem 2:
Dizi_tipi[] dizi_ismi={"...","...","..."};
Bilgi: Dizilere değer atama işlemi 0 (sıfır) dan başlamaktadır.
C# Diziyi Ekrana Yazdırma
Console.WriteLine(dizi_ismi[sirasi]);
Örnek :
Rakamlar isimli bir dizi oluşturalım ve bu dizi içerisine elemanları ekleyelim daha sonrada for döngüsüyle ekrana yazdırma işlemi yapalım.
int[] rakamlar=new int[10];
rakamlar[0]=0;
rakamlar[1]=1;
rakamlar[2]=2;
rakamlar[3]=3;
rakamlar[4]=4;
rakamlar[5]=5;
rakamlar[6]=6;
rakamlar[7]=7;
rakamlar[8]=8;
rakamlar[9]=9;
//veya
//int[] rakamlar={0,1,2,3,4,5,6,7,8,9}
//şeklinde diziye eleman girdirilebilir
for(int i=0; i<10; i++)
{
Console.WriteLine(rakamlar[i]);
}
Console.ReadLine();
Diziler İçerisinde Kullanılan Hazır Metotlar
Diziler içerisinde sıklıkla kullanılan hazır metotlar bulunmaktadır. Bu metotlardan en çok kullanılanları:
- Length
- Clear
- Reverse
- Sort
- İndexOf
C# Length Hazır Metodu
Dizinin içinde tutabileceği tüm eleman sayısını bulmak için kullanılır. String metinlerde de içerisinde kaç karakter olduğunu bulmak için kullanılmaktadır.
C# Length Hazır Metodu Kullanımı
int[] sayilar=new int[5];
sayilar[0]=10;
sayilar[1]=1;
sayilar[2]=3;
sayilar[3]=35;
sayilar[4]=45;
int eleman_sayisi=sayilar.Length;
Console.WriteLine(eleman_sayisi);
Console.ReadLine();
C# Clear Hazır Metodu
Clear kelime anlamı temizle demektir. Dizideki elemanların içini temizlemek için kullanılır. Yani belirlenen indeks aralığındaki dizi elemanlarının içini temizlemek için kullanılmaktadır. Sayısal değişkenlerde içine 0 atarak, metinsel değişkenlerde ise içini boş bırakarak temizleme işlemi yapar.
C# Clear Hazır Metodu Kullanımı
Array.Clear(dizi_ismi, başlangıç_indeksi, kaç_adet_temizleneceği);
Örnek:
Aşağıdaki kod clear metodu ile 1 numaralı indeksten başlayarak 2 adet elemanın içini sıfırlama işlemi yapmaktadır. Yani dersler[1] ve dersler[2] dizilerin içini temizlemektedir.
string[] dersler=new string[5];
dersler[0]="Html";
dersler[1]="Azkod";
dersler[2]="Azkod.com";
dersler[3]="Css";
dersler[4]="JavaScript";
dersler[5]="Sql";
dersler[6]="C#";
dersler[7]="Arduino";
Array.Clear(dersler,1,2);
foreach(string yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# Reverse Hazır Metodu
Dizi içindeki elemanları tersine çevirmek için kullanılır.
C# Reverse Hazır Metodu Kullanımı
Array.Reverse(dizi_ismi);
Örnek:
string[] sayilar={1,5,15,2,3,45,37,28);
Array.Reverse(sayilar);
foreach(string yaz in sayilar)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# Sort Hazır Metodu
Dizi içerisindeki elemanları küçükten büyüğe veya A’dan Z’ye sıralamak için kullanılan hazır metod’dur.
C# Sort Hazır Metodu Kullanımı
string[] x={10,20,30,50,40,70);
x.Sort();
foreach(string yaz in x)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# IndexOf Hazır Metodu
Dizi içerisinde eleman aramak için kullanılmaktadır. Dizinin içinde elemanı bulursa indeks değerini döndürür eğer bulamazsa -1 değeri döndürmektedir. IndexOf metodu küçük-büyük harfe duyarlıdır. Örneğin: ybsmezunu ile azkod farklıdır.
C# IndexOf Hazır Metodu Kullanımı
Array.IndexOf(dizi_ismi,aranan_değer);
Örnek:
string[] dersler={"Html","Css","JavaScript","C#","Php");
int sonuc=Array.IndexOf(dersler,"C#");
Console.WriteLine(sonuc);
Console.ReadLine();
Dinamik Diziler
Dinamik diziler alan sınırı olmayan diziler’dir. Bu dizilerde dizinin kaç elemanlı olacağı belirtilmemektedir.
Dinamik dizilerin avantajları:
- Dinamik dizilerde dizinin kaç elemanlı olacağını belirlemeye gerek yoktur, program içerisinde istenilen kadar eleman eklenebilir. Normal diziler eleman sayıları azaltılıp çoğaltılamaz.
- Dinamik dizilerde tür sınırlaması yoktur. Yani aynı dizi içerisine hem string hem char hemde integer değer girdirilebilir.
- Alandan fayda sağlar. Örneğin: 100 elemanlı bir dizi oluşturduk fakat biz sadece 10 eleman girdirdik geriye 90 eleman kalmaktadır. Bu 90 elemanlık alan boşa yer kaplamaktadır.
Dinamik diziler ile ilgili dizi tanımlama ve dinamik diziler kullanılan özellikler ve hazır metotlardan :
Özellikler:
- Capasity : Dinamik dizinin kapasitesini int türünde göstermek için kullanılır.
- Count : Dinamik dizinin eleman sayısını int türünde göstermek için kullanılır.
Hazır Metotlar:
- Add : Dinamik dizinin sonuna eleman eklemek için kullanılır.
- Insert : Dinamik dizide verilen indeksine (yani kaçıncı sıradaki diziye) eleman girdirmek için kullanılır.
- Remove : Dinamik dizinin içerisinde aranan eleman varsa silmek için kullanılır.
- RemoveAt : Dinamik dizide girilen indeksteki değeri silmek için kullanılır.
- Sort : Dinamik dizi içerisindeki elemanları sıralamak için kullanılır.
C# Dinamik Dizi Tanımlama
ArrayList dizi_adi=new ArrayList();
C# Dinamik Dizi Capasity Özelliği
Dinamik dizinin kapasitesini int türünde göstermek için kullanılan özelliktir.
Capasity Özelliği Kullanımı
int kapasite=dizi_adi.Capacity;
C# Dinamik Dizi Count Özelliği
Dinamik dizinin eleman sayısını int türünde göstermek için kullanılan özelliktir.
Count Özelliği Kullanımı
int sayi=dizi_adi.Count;
C# Dinamik Dizi Add Hazır Metodu
Dinamik dizinin sonuna eleman eklemek için yani yeni eleman eklemek için kullanılan hazır metod’dur.
Add Hazır Metodu Kullanımı
ArrayList dizi_ismi=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dizi_ismi.Add("Azkod");
//String(metin) bir eleman ekledik
dizi_ismi.Add(37);
//İnteger(tam sayı) bir eleman ekledik
dizi_ismi.Add(false);
//boolean bir eleman ekledik
dizi_ismi.Add(37.7d);
//double bir eleman ekledik
dizi_ismi.Add(37.777f);
//float bir eleman ekledik
C# Dinamik Dizi Insert Hazır Metodu
Dinamik dizide verilen indeksine (yani kaçıncı sıradaki diziye) eleman girdirmek için kullanılır. Örneğin : 5. indekse Azkod isimli değeri girdirmek istersek bu hazır metodu kullanılırız.
Insert Hazır Metodu Kullanımı
dizi_ismi.Insert(3,"Azkod");
//3 nolu indekse Azkod ekledik.
Örnek :
ArrayList sayilar=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
sayilar.Add(1);
sayilar.Add(7);
sayilar.Add(10);
sayilar.Add(3);
sayilar.Add(2);
// sayilar isimli dizimize eleman girdirdik.
sayilar.Insert(2,15);
//2 nolu indekse 15 sayısını girdirme işlemi yapıldı.
foreach(object yaz in sayilar)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# Dinamik Dizi Remove Hazır Metodu
Dinamik dizinin içerisinde aranan eleman varsa silmek için kullanılan hazır metod’dur. Örneğin : Dizi içerisinde Azkod isimli eleman varsal silmek için bu metod kullanılır.
Remove Hazır Metodu Kullanımı
dizi_ismi.Remove("Azkod");
//Dizi içerisinde Azkod varsa kaldırma işlemi yapar.
Örnek:
ArrayList dersler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dersler.Add("Html");
dersler.Add("Css");
dersler.Add("Php");
dersler.Add("a");
dersler.Add("C#");
dersler.Add("JavaScript");
// dersler isimli dizimize eleman girdirdik.
dersler.Remove("a");
//a elelmanını sildik
foreach(object yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# Dinamik Dizi RemoveAt Hazır Metodu
Dinamik dizide girilen indeksteki değeri silmek için kullanılan hazır metod’dur. Örneğin: Dizi içerisindeki 3 numaralı indeksi silmek için kullanabiliriz.
RemoveAt Hazır Metodu Kullanımı
dizi_ismi.RemoveAt(indeks_no);
//örneğin 5 girilirse 5 nolu indeksteki elemanı siler
Örnek:
ArrayList harfler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
harfler.Add("A");
harfler.Add("B");
harfler.Add("C");
harfler.Add("Ç");
harfler.Add("ybsmezunu");
harfler.Add("D");
// dersler isimli dizimize eleman girdirdik.
harfler.RemoveAt(4);
//4. indeksteki elemanı harf olmadığı için sildik.
foreach(object yaz in harfler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
C# Dinamik Dizi Sort Hazır Metodu
Dinamik dizi içerisindeki elemanları küçükten büyüğe veya A’dan Z’ye sıralamak için kullanılan hazır metod’dur.
Sort Hazır Metodu Kullanımı
dizi_ismi.Sort();
Örnek:
ArrayList dersler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dersler.Add("Html");
dersler.Add("Css");
dersler.Add("Php");
dersler.Add("C#");
dersler.Add("JavaScript");
dersler.Add("Sql");
dersler.Add("Arduino");
dersler.Add("Bootstrap");
dersler.Add("Python");
// dersler isimli dizimize eleman girdirdik.
dersler.Sort();
//elemanları küçükten büyüğe sıraladık
foreach(object yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();