C# Diziler Örneklerle C# Tek ve Çok Boyutlu Diziler
C# Diziler Örneklerle C# Tek ve Çok Boyutlu Diziler

Bu makalemizin konusu C# diziler konusu. C# çok boyutlu diziler, dizi tanımlama, diziye eleman ekleme, dizilerde sıralama gibi çok kullanılan metodlar konumuzun alt başlıkları. Anlatımımız boyunca bolca örnek kodla diziler hakkında bilgi vermiş olacağız.

C# Diziler Nedir?

C# diziler, aynı tipte birden çok veriyi tutmak için kullanabileceğimiz programlama nesneleridir. Dizilerin örnek kullanımında, gün veya ay isimlerini teker teker farklı değişkenlere aktarıp tutmak yerini bunları sıralı bir şekilde tek bir dizide tutabilir, çok daha pratik bir şekilde kullanabiliriz.

Dizi Tanımlama

Diziler, değişkenler de bahsettiğimiz gibi tip güvenli yapılardır. Yani bir dizi tanımlayacağımız zaman tipini belirmemiz gerekir. Aşağıda C# ile tanımlanmış bir dizinin söz dizimini görebilirsiniz.

tipi[] adi = new tipi[] {eleman1, eleman2, eleman3...}
tipi[] adi = {eleman1, eleman2, eleman3...}
tipi[] adi = new tipi[elemanSayisi];

C# da dizi tanımlarken elemanlarımız önceden belirli ise doğrudan elemanları (1.ve 2. satırdaki gibi) belirterek diziyi oluşturabiliriz. Elemanlar arasında virgül kullanımını unutmamak gerekir. Elemanlarımız önceden belirli değilse, örneğin kullanıcının gireceği değerleri diziye atacaksak bu durumda da dizinin tutacağı eleman sayısını (3. satırdaki gibi) belirtmemiz gerekir.

Buraya kadar öğrendiklerimizle haftanın günlerini tutacağımız bir dizi örneği tanımlayalım.

string[] gunler = new gunler[]{"Pazartesi", "Salı", "Çarşamba","Perşembe","Cuma","Cumartesi","Pazar"}
string[] gunler = {"Pazartesi", "Salı", "Çarşamba","Perşembe","Cuma","Cumartesi","Pazar"}
string[] gunler = new gunler[7]

int[] rakamlar = {0,1,2,3,4,5,6,7,8,9}

Son satırdaki int tipindeki rakamlar dizisini farklı bir örnek olması adına tanımladım. Burada dikkat etmeniz gereken kısım, string tipindeki dizi elemanları çift tırnaklar arasına yazdık. Sayısal tipteki elemanları ise doğrudan yazdık.

C# Diziye Eleman Ekleme

Elemanlarını belirtmeden tanımladığımız bir diziye eleman atamak için aşağıdaki yöntem kullanılır;

string[] gunler = new gunler[7];
gunler[0] = "Pazartesi";

Örneğimizde gunler dizimizin ilk elemanını eklemek için köşeli parantezler içerisine bir değer (0) yazdık. Bu değer erişmek istediğimiz dizi elemanını belirtir. Bu örneğe göre diziye son eleman olarak “Pazar” gününü eklediğimizde buradaki değer 6 olacaktır. Diziler ile ilgili en çok dikkat edilmesi gereken konu sıra (indeks) numaralarının sıfırdan (0) başladığıdır.

gunler[0] = "Pazartesi";
gunler[1] = "Salı";
gunler[2] = "Çarşamba";
gunler[3] = "Perşembe";
gunler[4] = "Cuma";
gunler[5] = "Cumartesi";
gunler[6] = "Pazar";

C# Çok Boyutlu Diziler

Diziler birden çok boyutlu olarak da kullanılabilirler. Örneğin bir tablodaki verileri tutmak için 2 boyutlu diziler kullanılabilir. 2 boyutlu bir dizi aşağıdaki yöntemlerle tanımlanabilir.

int[,] sayilar2b = {{1,1},{2,2},{3,3}}
int[,] sayilar2b = new int[3,2];

Örnekte de görüldüğü üzere köşeli parantezler içine bu dizinin 2 boyutlu olduğunu belirten 1 virgül ekledik. İlk satırda 3′ e 2′ lik yani 2 boyutlu bir diziyi elemanları ile birlikte tanımladık. İkinci satırda da aynı özelliklerdeki diziyi elemanları olmadan tanımladık.

Pek kullanılmasa da C# da 3 boyutlu dizilerde tanımlanabilir. Aşağıdaki örnekte de boyutları 4,3 ve 2 olan bir dizi tanımlanmıştır.

int[, ,] sayi3b = new int[4, 3, 2];
int[,,] sayi3b = new int[,,] { { { 111, 112 }, { 121, 122 }, { 131, 132 } }, { { 211, 212 }, { 221, 222 }, { 231, 232 } }, { { 311, 312 }, { 321, 322 }, { 331, 332 } }, { { 411, 412 }, { 421, 422 }, { 431, 432 } } };

C# Dizilerde Sıralama

Dizilerde tutulan elamanları belirli özelliklere göre sıralamak mümkündür. Örneğin sayısal tipteki bir dizinin elemanlarını küçükten büyüğe doğru yada metinsel ifadeleri tutan bir diziyi A’ dan Z’ ye doğru sıralamak mümkündür.

C# da dizileri sıralamak için Sort metodu kullanılır. Bu işlemi yerine getiren çeşitli kodlamalar yapılabilir. Ancak biz tanımlı olan Sort metodunu kullanacağız.

Rastgele değerler girilmiş 2 dizinin sort metodu ile sıralamasını yapalım.

int[] rakamlar = { 5, 6, 1, 7, 2, 4, 9, 8, 3 };
string[] harfler = { "z", "t", "h", "n", "a" };

Array.Sort(rakamlar); //Çıktısı: 1 2 3 4 5 6 7 8 9
Array.Sort(harfler); //Çıktısı: a h n t z

Sort metodu ile dizileri küçükten büyüğe sıraladık. Büyükten küçüğe sıralamamız gerektiğinde ise Reverse metodu imdadımıza yetişiyor. Reverse, temelde diziyi tersine çeviren bir metod. Ancak biz bir diziyi küçükten büyüğe sıralayıp daha sonra tersini alırsak büyükten küçüğe sıralamış oluruz. Yukarıdaki örnekleri büyükten küçüğe sıralamak istediğimizde ekleyeceğimiz kodlar aşağıdaki gibi olmalı.

Array.Reverse(rakamlar); //Çıktısı: 9 8 7 6 5 4 3 2 1
Array.Reverse(harfler); //Çıktısı: z t n h a

Dizilerde Uzunluk (Length)

Dizinin uzunluğunu Length metodu ile bulabiliriz. Bu metod bize int türünde bir değer döndürür. Yani harfler dizimizin uzunluğunu istediğimizde elde edeceğimiz değer 5 olacak. Rakamlar dizimizin uzunluğunu bulan örnek aşağıdaki gibi olacak.

rakamlar.length; //Çıktısı: 9

C#diziler konumuzun sonuna geldik. Konu hakkında sormak istedikleriniz yada karşılaştığınız sorunlar için aşağıdaki yorum bölümünü kullanabilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz