C# Generic Koleksiyonlar
List Koleksiyon – (ArrayList’in Generic karşılığı)
ArrayList koleksiyon yapısının Generic karşığı List koleksiyon yapısıdır.
List<string> Lliste = new List<string>();
Yukarıda gördüğünüz Generic List koleksiyonunun imzasıdır.İmzanın <> operatörleri arasında koleksiyonun tipi belirlenir.Bu koleksiyona string tipten başka bir değer giremeyiz.
Lliste.Add("Gençay"); //Doğru
Lliste.Add("Yıldız"); //Doğru
/*Lliste koleksiyonu sadece string tipten veri aldığı için
başkabir tipteki veriyi eklemeye çalışında derleyici direkt hata verecektir.*/
Lliste.Add(12); //Yanlış
Lliste.Add(new Araba());//Yanlış
Bir List koleksiyonunun tipi illaki değer tipinden olmak zorunda değildir.Bir class tipindende koleksiyon oluşturulabilir.
Örneğin Araba.cs classımız olsun.
class Araba
{
}
Artık Araba tipinden nesneler bu koleksiyon içine eklenebilir.Araba.cs sınıfından türeyen sınıflarda çok biçimlilik sayesinde bu koleksiyona eklenebilirler.Örneğin Araba.cs sınıfından kalıtım alan Mercedes.cs ve kalıtım almayan Ford.cs sınıflarımız olsun.
class Mercedes:Araba
{
}
class Ford
{
}
Lliste.Add(new Araba()); //Doğru
Lliste.Add(new Mercedes()); //Doğru
Lliste.Add(new Ford()); //Yanlış
//Ford sınıfından nesneyi koleksiyona ekleyemeden derleyici hata verecektir.
Koleksiyonun metod ve propertylerinin ArrayList’ten bir farkı yoktur.
Bir sonraki sayfada Dictionary koleksiyonundan bahsedeceğim.
