İnfografik
← Ünite 11
Nesne Tabanlı Programlama 1

Ünite 11: Diziler

System.Array İsim Uzayı
C# programlama dilinde dizilerle ilgili tüm metot ve özellikler System.Array isim uzayı altında toplanmıştır. Diziler üzerinde yapılan kopyalama, sıralama ve temizleme gibi işlemler bu sınıfın metotları ile gerçekleştirilir.
Dizi İndeksleme Kuralı
C# dilinde tüm diziler 0 tabanlı indeksleme sistemini kullanır. Yani dizinin ilk elemanına ulaşmak için 0, ikinci elemanına ulaşmak için 1 indeksi kullanılmalıdır.
Varsayılan Değerler
Dizi tanımlanırken 'new' anahtar sözcüğü kullanıldığında, veri tiplerine göre otomatik varsayılan değerler atanır. Örneğin, integer dizilerde tüm elemanlar başlangıçta 0, boolean dizilerde ise false değerini alır.
Dizi Boyutu Değiştirme
Dizilerin eleman sayıları normalde sabittir. Ancak ihtiyaç duyulduğunda dizinin boyutunu değiştirmek için 'Array.Resize' metodu kullanılmaktadır.

Anahtar Kavramlar

Dizi (Array)Aynı türden verileri tek bir değişken altında toplayan veri yapısıdır. Örneğin, 7 günlük isimleri 7 ayrı değişken yerine tek bir string dizisinde tutulabilir.
İndeks (Index)Dizi elemanlarının bellekteki konumunu belirten sayısal değerdir. C#'ta indeksleme her zaman 0'dan başlar.
new Anahtar SözcüğüDizi için bellekte dinamik olarak yer ayrılmasını sağlayan komuttur. Örneğin 'new int[7]' ifadesi 7 adet tam sayı için bellek alanı açar.
CopyTo() MetoduBir dizinin içeriğini başka bir diziye kopyalamak için kullanılır. Kaynak dizi, hedef dizi ve başlangıç indeksi parametrelerini alır.
Clone() MetoduBir dizinin tam bir kopyasını oluşturan metottur. Object tipinde sonuç döndürdüğü için kullanımda tip dönüşümü yapılması zorunludur.
SetValue() MetoduDizi tanımlandıktan sonra belirli bir indekse değer atamak için kullanılan metottur. 'dizi.SetValue("Değer", 0)' şeklinde kullanılır.
Clear() MetoduDizideki elemanları temizlemek için kullanılır. Dizinin boyutunu değiştirmez, sadece elemanları varsayılan değerlerine (0 veya boşluk) döndürür.
Sort() MetoduDizi elemanlarını küçükten büyüğe veya alfabetik olarak sıralayan metottur. 'Array.Sort(diziAdı)' şeklinde çağrılır.
Matris DiziHer satırında eşit sayıda eleman bulunan çok boyutlu dizilerdir. Tablo yapısına benzerler ve [satır, sütun] şeklinde erişilirler.
Düzensiz Dizi (Jagged Array)Her satırının uzunluğu birbirinden farklı olabilen iç içe dizi yapısıdır. Örneğin, ilk satır 3 elemanlıyken ikinci satır 5 elemanlı olabilir.

Diğer Önemli Bilgiler

Matris Dizi Yapısı

Matris diziler, dikdörtgensel bir yapıda olup her satırda eşit sayıda eleman barındırır. İki boyutlu bir matris dizide 'ornekmatrisdizi[0][0]' ifadesi ilk satırın ilk sütunundaki elemanı temsil eder.

Reverse Metodu Farkı

Reverse metodu, Sort metodu gibi diziyi sıralamaz. Sadece mevcut dizinin eleman sırasını olduğu gibi tersine çevirerek görüntüler.

Sınavda Dikkat Et

  • Dizi indekslerinin 0'dan başladığını unutmayın; 1. elemana ulaşmak için 0. indeksi kullanmalısınız.
  • Clear() metodunun diziyi bellekten silmediğini, sadece değerleri sıfırladığını aklınızdan çıkarmayın.
  • Sort() ve Reverse() metotlarını karıştırmayın; Sort() sıralar, Reverse() sadece mevcut sırayı tersine çevirir.
  • Çok boyutlu dizilerde virgül (,) operatörünün kullanıldığını mutlaka hatırlayın.
  • Diziye değer atarken değişken tipi ile değer tipinin uyumlu olması gerektiğini, aksi takdirde hata alacağınızı unutmayın.