Diziler
Diziler, programlamada verileri kolay bir şekilde organize etme, sıralama veya düzenleme gibi çeşitli avantajlar sunar. Bunun yanı sıra dizi kullanımı, kodun okunabilirliğini artırması ve bazı karmaşık problemlerin çözümünü kolaylaştırması açısından avantaj sağlamaktadır.
Diziler, her bir değer için ayrı değişken tanımlamak yerine birden çok değeri tek bir değişkende tutmak için kullanılır.
Dizi tanımlanırken birden fazla yöntem izlenebilir. Tanımlamada dizi değişkeninin veri tipi, dizi adı ve eleman sayısı belirtilir.
Bir dizi tanımlandıktan sonra öncelikle dizi değişkenine değer atanmalıdır. Dizi değişkenine değer atamak için dizi elemanının indeks değeri köşeli parantez içine yazılır ve istenilen değer atanır.
Dizi değişkeninin elemanlarına değer ataması yapılırken en çok dikkat edilmesi gereken nokta, değişken tipine göre değer atamaktır. Bunun sebebi her tip kendi tipinden olan değerleri kabul etmektedir. Örneğin string tipinde tanımlanan bir dizi değişkenine int tipinde bir değer atanamaz veya decimal tipindeki bir dizi değişkenine bool tipinde bir değer atanamaz. Dizi kullanımında dikkat edilmesi gereken başka bir nokta da dizi elemanlarına erişilirken kesinlikle tam sayı kullanılmalıdır. Bu hususlar oldukça önemlidir uyulmadığı durumlarda ise kod hatasıyla karşılaşılır.
Bazı durumlarda bir dizinin içeriği başka bir diziye kopyalanabilir veya iki dizinin içerikleri birleştirilebilir. Bu tür durumlar için döngülerin yer aldığı algoritmalar kullanılabilir. Ancak yazılım geliştirme ortamlarının sunduğu avantaşlar sayesinde dizilerden kesit alma, sıralama, dizi birleştirme gibi karmaşık işlemler programlama dilinde hazır bulunan metot ve fonksiyonlar aracılığıyla kolaylıkla gerçekleştirilebilir.
C# programlama dilinde Copy(), CopyTo() ve Clone() metodları yardımıyla iki dizinin içerikleri birbirine kopyalanabilir veya diziler tek bir dizide birleştirilebilir. CopyTo() metodu kullanılarak bir dizinin içeriğini başka bir diziye kopyalamak için kopyası alınacak kaynak dizi, indeks numarası ve hedef dizi belirtilir.
Dizilere değer atama işlemi dizi tanımlanırken yapılabildiği gibi dizi tanımlandıktan sonra SetValue metodu kullanılarak da yapılabilir. Bazı durumlarda dizi tanımlandıktan sonra diziye yeni eleman ekleme ihtiyacı doğabilir. Bu tür durumlarda C# programlama dilinde Array sınıfının altında yer alan SetValue metodu kullanılır. Bu metot kullanılırken öncelikle dizi değişkeni adı yazılır ve parametre olarak eklenecek elemanın değeriyle indeks numarası bildirilir.
Dizilere yeni eleman eklemek gibi dizilerden mevcut eleman ya da elemanların silinmesi de programlamada sıkça karşılaşılan durumlardandır. Bu işlem için C# programlamada Array sınıfının altında yer alan Clear() metodu kullanılır. Bu metot sözdiziminde 3 parametre alır. Bunlardan ilki elemanları sıfırlanacak dizi değişkenini, ikincisi içerik silme işleminin başlayacağı elemanı ve üçüncüsü de içeriği silinecek eleman sayısını ifade eder.
Geliştirilen yazılımlarda ihtiyaca göre dizi içeriğinin sıralanması gerekebilir. Dizilerin kullanımında sıralama işlemi oldukça önemlidir. Bu işlem için geliştiriciler, çeşitli fonksiyonlar veya metotlar kullanabilirler. Ancak C# programlama dili sıralama işlemi için Array sınıfının altında Sort() metodunu sunmuştur.
Diziler tek boyutlu ve çok boyutlu olmak üzere iki gruba ayrılabilir. Tek boyutlu diziler tanımlanırken sadece eleman sayısı belirtilir. Bu ünitede şimdiye kadar ele alınan başlıklar tek boyutlu dizilere örnek verilebilir. Çok boyutlu diziler ise tek boyutlu dizilere benzer biçimde tanımlanır ve kullanılır. Ancak çok boyutlu dizi tanımlanırken virgül (,) operatörü kullanılarak dizinin boyutu belirtilir.
Dikdörtgensel diziler olarak da adlandırılan matris dizilerin her satırında eşit sayıda eleman bulunur.
Her bir satırı farklı uzunlukta olan çok boyutlu dizilere düzensiz diziler denmektedir.