“C# – Koleksiyonlar” başlıklı yazımızda koleksiyonların avantajlarından, dezavantajlarından bahsedip, genel bir bilgi vermiştik. Bu yazımızda ise bir koleksiyon sınıfı olan CollectionsUtil‘dan bahsedeceğiz.
CollectionsUtil Sınıfının Temel Yapısı
CollectionsUtil sınıfı “System.Collections.Specialized” isim uzayında yer almaktadır. Büyük-küçük harf duyarlılığına sahip olmayan bir koleksiyondur.
SortedList ve HashTable koleksiyonları büyük-küçük harf duyarlılığına sahiptir. Örnek vermek gerekirse; “Serdar” Anahtarına sahip bir öğe koleksiyona eklendikten sonra, “SerdaR” Anahtarına sahip farklı bir öğe daha koleksiyona eklenebilir. Koleksiyon büyük-küçük harf duyarlılığına sahip olduğu için iki Anahtarı da farklı birer girdi olarak kabul edecektir.
CollectionsUtil koleksiyonu ise büyük-küçük harf duyarlılığına sahip değildir. Bu yüzden “Serdar” Anahtarına sahip bir öğe koleksiyona eklendikten sonra “SerdaR” Anahtarına sahip farklı bir öğe daha koleksiyona eklenmek istenildiğinde istisna fırlatacaktır.
Örnek Uygulama
SortedList Ceviri = CollectionsUtil.CreateCaseInsensitiveSortedList(); Ceviri.Add("Computer", "Bilgisayar"); // Büyük-Küçük Harf duyarlılığı olmadığı için 3 satırda aynı çıktıyı verecektir. Console.WriteLine(Ceviri["COMPUTER"]); Console.WriteLine(Ceviri["computer"]); Console.WriteLine(Ceviri["CoMpUtEr"]); Hashtable isim = CollectionsUtil.CreateCaseInsensitiveHashtable(); isim.Add("Serdar", "Yılmaz"); // Büyük-Küçük Harf duyarlılığı olmadığı için 3 satırda aynı çıktıyı verecektir. Console.WriteLine(isim["SERDAR"]); Console.WriteLine(isim["serdar"]); Console.WriteLine(isim["SeRdAr"]); // Programın Ekran Çıktısı // Bilgisayar // Bilgisayar // Bilgisayar // Yılmaz // Yılmaz // Yılmaz
Serdar Yılmaz