C# Eğitimlerimize önemli bir konu olan Diziler ile devam ediyoruz.

Diziler yani matrisler günlük hayatta da pek çok işimizi çözmede yardımcı olduğu gibi programlamada da çok özel bir yeri vardır.

Neden Diziler?

Şimdiye kadar öğrendiğimiz programlama bilgilerinde pek çok veri tipinden bahsettik. Değişken tanımlamaları yaptık. Örnek projelerimizde bu değişkenlere değer atamayı gördük.

Şöyle bir senaryo düşünelim. 100 kişilik bir sınıf olsun. Bu sınıftaki tüm öğrencilerin isimlerinin program tarafından tutulup istenildiğinde de isimlerinin gösterilmesini isteyelim.

Şimdiye kadarki olan bilgilerimizden yola çıkarsak bu işlem için şöyle bir şey yapmamız gerekebilirdi.

 

 

Sadece basit bir değişken tanımlaması için 100 satır aynı kodu yazdık.

Mantıklı bir hareket mi diye düşündüğümüzde kolayca bunun çokta mantıklı bir iş olmadığı kanısına varabiliriz.

İşte tamda bu seri halindeki aynı türden değişkenlerimizi kolayca tutabilelim sonrada ulaşabilelim diye diziler kavramı ortaya atılmış.

Dizi Tanımlama

Pek çok dizi tanımlaması mevcuttur.

  • VeriTipi[] Değişkenİsmi = new VeriTipi[Boyut];

 

  • İlk Değer Ataması

Yukarıdaki örnekte olduğu gibi ilk değer atamaları da yapılabilir.

Burada dizinin boyut değeri girilmeyip istenildiği kadar değer yazılabileceği gibi. Dizinin boyutu da verilerek işlem yapılabilir.

 

Eğer dizinin boyutunu verip içeriğine daha fazla eleman girersek bu durumda hata alırız.

 

Eğer deklere ettiğiniz değer daha yüksek olsa yine hata alacaktınız. Yani 4 değer olduğunu söyleyip 3 değer girseydiniz aynı hatayı alacaktınız. Böyle bir kullanımda deklere ettiğiniz kadar değeri diziye gireceğinizi garanti etmiş olursunuz.

 

İlk değer ataması yapılırken boyutsuz bir şekilde de yapılabilir.

Böyle bir dizi tanımlaması sonucu girilen değer dizinin uzunluğunu da belirlemiş olur.

  • Boyutsuz Tanımlama

Dizinin tanımlamasını yapıp new anahtar kelimesi ile türetmeden de kullanabilirsiniz.

Bu dizi istediğiniz kadar değer alabilecektir.

Değer ataması yaparken new anahtarıyla türetmenize ihtiyaçta duymayacaktır.

Diziye Değer Atama

Bir dizi tanımlaması yaptınız bu diziye değer atayacaksınız bunu yapabilmenin de birden fazla yolu var.

Normal değişkene değer ataması yapar gibi bunu yapabilirsiniz. Ancak burada farklı bir durum var dizinin hangi indisine değer atanacak bunu belirlemelisiniz.

DipNot: C# da diziler 0 dan saymaya başlar.

 

şeklinde değer atamalarını gerçekleştirebiliriz.

Önemli Not: Burada dikkat etmemiz gereken önemli bir husus veri tiplerine göre değer atama şekillerinin değiştiğidir. Yani normal veri tiplerinde atamaları nasıl gerçekleştiriyorsak burada da aynı kural geçerli.

 

Şeklinde olacaktır.

ÖnemliNot: Bir diziyi tanımladığınızda eğer bu sayısal içerikli ise ve ilk değer ataması yapılmamışsa tüm indislerini 0 olarak set edecektir. Eğer string bir dizi oluşturduysanız değerleri boş karakter olarak atacaktır.

Bu yüzden dizinin istediğimiz indisine değer ataması yapabiliriz. Yani atamaların sıralı olmasına gerek yoktur.

Dizi Değerlerine Ulaşma

İstediğimiz zaman bir dizinin değerine yine istediğimiz indise işaret ederek alabiliriz.

 

 

Gördüğümüz gibi label1.Text = Adlar[0]; kod yardımı ile Adlar dizisinin 0. elemanın ne olduğunu göstermiş oldum.

Tür dönüşümleri diziler içinde geçerlidir.

label1.Text = Adlar[0].ToString(); şeklinde string türe dönüştürülebilir.

Sayı=Convert.ToInt32(Adlar[0]); eğer yapısı uygunsa dizi içindeki değer bu şekilde int türüne de dönüştürülebilir.

Bir sonraki eğitim yazımda görüşmek üzere.