C# Özelleştirilmiş Koleksiyonlar – System.Collections.Specialized
Bu yazımda C#’ta özelleştirilmiş koleksiyonları inceleyeceğiz.Özelleştirilmiş koleksiyonlar System.Collections.Specialized namespace i altında bulunurlar.ListDictionary,HybridDictionary,Queue ve Stack koleksiyonları mevcuttur.Şimdi gelin bu koleksiyon sınıflarını görelim.
ListDictionary
Küçük ölçekli koleksiyon yapısı kurmak isteniyorsa bu koleksiyon yapısı tercih edilebilir.Eğer koleksiyon yapısının key – value pairlerinden oluşmasını istiyorsak Hashtable ya da ListDictionary kullanabiliriz.Ama küçük ölçekli bir yapı ise ListDictionary tercih edilir.Çünkü daha hızlı çalışır.
ListDictionary listD = new ListDictionary();
listD.Add("Adı", "Gençay");
listD.Add("Soyadı","Yıldız");
listD.Add("Meslegi","Yazılım Uzmanı");
ListDictionary koleksiyonunu foreach döngüsünde dönmek istiyorsak eğer,koleksiyondaki elemanları DictionaryEntry almamız gerekiyor.(DictionaryEntry – System.Collections namespaceindedir.)DictionaryEntry sayesinde Key ve Value propertylerine ulaşabiliyoruz.
foreach (DictionaryEntry item in listD)
{
MessageBox.Show(item.Key + ":" + item.Value);
}
ListDictionary koleksiyonun Sort diye bir metodu yoktur.Fakat constructorında IComparer alan constructor mevcuttur.Ve bu constructorı kullanarak default sıralama kuralı belirlenebilir.
CaseInsensitiveComparer sirala = new CaseInsensitiveComparer();
ListDictionary listD = new ListDictionary(sirala);
