C# programlama dilinde Dictionary, Hashtable'ın generic versiyonudur (bkz: C# Hashtable Kullanımı ve Örnekleri) ve Hashtable'da olduğu gibi anahtar-değer (key-value) çiftlerini saklamak amacıyla kullanılır.
Örnek 1: C# programlama dilinde Dictionary ile tamsayı veri tipindeki öğrenci numaraları ile string veri tipindeki isimlerini saklayan bir koleksiyon örneği hazırlayın.
Çözüm:
Dictionary<int, string> ogrenciler = new Dictionary<int, string>();
ogrenciler.Add(1, "Ali");
ogrenciler.Add(2, "Hakan");
ogrenciler.Add(3, "Ayşe");
Örnek 2: Önceki örnekte teker teker eklenmiş olan öğrencileri tanımlama esnasında ekleyin.
Çözüm:
Dictionary<int, string> ogrenciler = new Dictionary<int, string>()
{
{1, "Ali"},
{2, "Hakan"},
{3, "Ayşe"}
};
Örnek 3: 2 numaralı öğrenciyi bulun (Dictionary'de key ile value bulmak)
Çözüm:
string val;
if(ogrenciler.TryGetValue(2,out val))
System.Console.WriteLine(val); //Hakan
Örnek 4: Dictionary içinde öğrenci adından (value) öğrenci numarasını (key) bulabilmek için alternatif bir çözüm geliştirin.
var ogrenciNumarasi = ogrenciler.FirstOrDefault(x => x.Value == "Hakan").Key;
System.Console.WriteLine(ogrenciNumarasi); //2
Örnek 5: Dictionary içindeki tüm elemanları listeleyin
Çözüm 1: (Dictionary içindeki tüm elemanları (key ve value) yazdırmak)
foreach(KeyValuePair<int, string> ogrenci in ogrenciler)
{
System.Console.WriteLine(ogrenci.Key + "-" + ogrenci.Value);
}
Çözüm 2:
ogrenciler.Values.ToList();
Önceki bazı diğer benzer içerikli yazılarım için;
bkz: C# ile params anahtar sözcüğü kullanımı ve örnekleri
bkz: C# ve Generic ile Non-Generic Koleksiyonlar Nelerdir?
bkz: C# Programlama Dilinde Koleksiyon Nedir?
bkz: Interface Nedir?
bkz: Checksum Nedir?
bkz: C# Override Nedir ve Nasıl Kullanılır?