C# Dictionary Nedir? Kullanımı ve Örnekleri

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?

mbologlu

12.05.2021 00:17

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.