Merhaba Arkadaslar,
Generic'ler gerçektem muhtesem yapilar. Ister class olarak kullanin, ister list ister dictionary, istediginiz türden veri sakladigi için ne unboxing ile ugrasirsiniz ne farkli islemlerle.
SortedDictionary<T,T> bizden 2 tane T(Tür) bilgisi alip, ona uygun veri eklememizi ve göstermemizi saglar.
Dictionary'den tek farki Sorted yapiya sahip olmasi. Dolayisi ile ekledigimiz tüm bilgiler Ascending siralamaya tabi tutulur.
Mantiksal ise False'dan True'ya, String ve ya Char ise alfabetik, rakamsal ise küçükten büyüge, DateTime ise yine ayni sekilde küçükten büyüge siralama yapar.
Neden SortedDictionary Kullanmaliyim?
Eger saklamak istediginiz bilgi/ler, key,value kullanimina uygunsa ve sirali olarak saklamak istiyorsaniz ekstra kod yazmaktan sizi kurtarir.
Hemen asagida örnegimize bakalim:
SortedDictionary<string, string> siraliSozluk = new SortedDictionary<string, string>();
//SortedDictionary siralamayi key bilgisine göre yapar. String veya char ise alfabetik, mantiksal ise False'dan True'ya, rakamsal ise küçükten büyüge. (ASCENDING)
siraliSozluk.Add("kitap", "basili ya da el yazili kâgit yapraklarin ciltli ya da ciltsiz olarak bir araya getirilmis biçimi.,Basimevinde basilip kapak geçirilmis kâgit yapraklardan olusan ve okumakta yararlanilan nesne.");
siraliSozluk.Add("kelime", "birincianlami,ikincianlami,üçüncüanlami");
siraliSozluk.Add("diger kelime", "birincianlami,ikincianlami,üçüncüanlami");
//ekrana yazdirmak istedigimizde foreach döngüsünden faydalanabiliriz.
foreach (var item in siraliSozluk)
{
Console.WriteLine(item.Key + ": \t" + item.Value);
Console.WriteLine("----------------------");
}
string kitabinAciklamasi = siraliSozluk["kitap"].ToString();//key ve value bilgisi verdigimiz direkt [0] indexi gibi bir kullanim söz konusu degil. ancak key bilgisi vererek values'unu alabiliriz.
char a = siraliSozluk["kitap"][2]; // kitap kelimesinin açiklamasindaki 2.ci karakteri aldik.
siraliSozluk.Remove("kelime");//SortedDictionary içerisinden herhangi bir elemani silmek istiyorsak, key bilgisini vermeliyiz.
Console.WriteLine("-************------");
foreach (var item in siraliSozluk)//kelime isimli key silindi.
{
Console.WriteLine(item.Key);
}
int elemanSayisi = siraliSozluk.Count;//eleman sayisini verir.
Console.WriteLine(elemanSayisi);
Console.WriteLine(a);
Console.ReadLine();
Kod'la kalin.. Anlamadiginiz bir yer olursa yorum yazmaniz yeterli...
Yazılım Geliştirici & Yazılım Uzmanı