C# Diziler Giriş

Diziler aynı türde bulunan verileri bir arada tutan bir mekanizmadır.Diziler referans tipine aittir.Dizi içerisinde bulunan her elemanın bir indeksi vardır.Yani her değerin bir sıra karşılığı vardır.

Neden her elemanın bir sıra  karşılığı olmasına gerek var ?

Bunun nedeni bir dizi içerisine sakladığımız her değere ulaşmak isteyebiliriz , mevcut değer üzerinde işlem yapmak isteyebiliriz.

Verilerin dizi içerisinde konumu şu şekildedir.  Dikkat ettiyseniz dizi indeksi  0 ile başlar .Burada 0 

indeksli elemanın değeri 10, 1 indeksli elemanın değeri 20 gibi her değerin bir indeks karşılığı vardır.

 

 

Küçük bir dizi tanımlayarak üzerinde küçük örnekler yapalım.

Dizi tanımlama şekilleri şu şekildedir.

-> int[] sayilar = new int[5];  // burada 5 integer(tam sayı) değeri alan bir dizi tanımladım.

-> int[] sayilar={3,8,1,0,6}; Burada ise yine 5 integer değeri önceden atanan  bir dizi tanımladım.

 

Eğer tanımladığımız dizinin değerleri önceden belli ise ve elle yazılması kolay olacaksa ikinci yöntem kullanılabilir.Ama ben birinci yöntemi kullanarak işleme devam ediyorum.Dizi elemanlarına tek tek dışardan veri ataması yapalım.

 

Yan resimde yapılan işlem 5 elemanlı bir sayı dizisi tanımlandı ve dizi elemanlarına elle kod satırında değerler atandı.Burada çok dikkat etmemiz gereken nokta dizinin ilk elemanı 0. indeks.Son elemanı ise indeks 0'dan başladığı için 4'tür.Yani toplam 5 eleman alabiliyor.

Peki 6. elemanı girsek program nasıl bir tepki verir.Ben sayilar[5]=8; kodunu eklediğim derlediğim zaman şu hata ile karşılaşacağım.

Yan tarafta dizi sınırların dışında olduğu belirtiliyor.

Diziye eleman ataması yapmak zorunda mıyız? sorusuna değiliz cevabı verilebilir.Eğer diziye değer ataması yapılmasa dizi kendine default değerini atar yani integer tanımlamaları için 0'dır.

 

 

 

Bir dizinin uzunluğuna yani kaç değer alabileceğini şu kod ile öğrenebiliriz.

int DiziUzunlugu = sayilar.Length;

Dizinin tüm elemanlarını toplayan bir küçük demo uygulaması yapalım.

int toplam = sayilar[0] + sayilar[1] + sayilar[2] + sayilar[3] + sayilar[4];

Şu şekilde bir kullanım dizinin tüm elamanlarını toplar ama burada ya dizinin çok elamı var ise örneğin 100 elamanlı bir dizinin tüm indeksini mi yazacağız?

For döngüsü kullanılarak.

Bu gibi sorunları çözmek için döngüler yardımımıza koşuyor.Kod bloğunu şu şekilde değiştirebiliriz.

Bu işlemleri birçok yöntem ile yapabiliriz Ben size 3 döngü yöntemiyle nasıl yapıldığını paylaşacağım.

 

En kullanışlı ve hızlı yöndem for 

döngüsünü kullandığımız  yöntemdir.

 

while döngüsü kullanılarak

Foreach ile toplama