Dictionary sınıfı eklendiği elemanları key ve value olarak kaydetmemize yarayan bir sınıfdır.
Bu sınıfın özelliğini kullanabilmemiz için System.Collections.Generic kütüphanesini ilk önce eklememiz lazım.

Unutmadan eğer key değerine göre otomatik sıralı bir liste oluşturmak istersek SortedList kullanmak daha iyi olur.

 


  Dictionary kullanicilar = new Dictionary();
  //Diğer listelerde olduğu gibi Add() metodu ile ekleme yapıyoruz..
  kullanicilar.Add(0, "Kerem ÖZER");
  kullanicilar.Add(1, "Ali RODOPLU");
  kullanicilar.Add(2, "Okan BİLİR");
  kullanicilar.Add(3, "Sinan ERTAN");
  kullanicilar.Add(4, "Fukan BİÇER");
  kullanicilar.Add(5, "Emirhan DAĞLIOĞLU");

  //Diğer listlerden biraz daha farklı yazdırma işlemi
  //Keyvaluepair dictionarydeki keymiz,
  //ve dictionarydeki value değer tipmiz ne ise onları aynen burada da yazıyoruz
  foreach (KeyValuePair kullanici in kullanicilar)
  {
  Console.WriteLine("ID =>"+kullanici.Key+"\t"+"Ad Soyad =>"+kullanici.Value);
  }
 //Burada dikkat etmemiz gereken nokta
 //Dictionary key uniqtir yani benzersiz
 //Aynı değerler gelirse hata vericektir
 //Peki bunu nasıl önlüyoruz

 string yeniKullanici = "Ekrem AYDEMİR";
 bool varMi = kullanicilar.TryGetValue(0, out yeniKullanici);
 //varsa true yoksa false dondürücek
 if (varMi)
 {
   //Böyle bir key mevcut
  Console.WriteLine("Bu ID de bir kullanici mevcuttur.");
 }
 else
 {
   //Değil ise ekleme işlemini yapalım
   kullanicilar.Add(0, yeniKullanici);
   Console.WriteLine("Ekleme işlemi başarıyla gerçekleşmiştir.");
 }

Bir de bu örneği SortedList olarak görelim hem de baştaki belirtmiş olduğumuz mevzuyu daha iyi anlamiş oluruz.


  SortedList kullanicilarSortedList = new SortedList();
  Dictionary kullanicilarDictionary = new Dictionary();
  kullanicilarSortedList.Add(3, "Sinan ERTAN");
  kullanicilarSortedList.Add(1, "Ali RODOPLU");
  kullanicilarSortedList.Add(2, "Okan BİLİR");
  kullanicilarSortedList.Add(5, "Emirhan DAĞLIOĞLU");
  kullanicilarSortedList.Add(4, "Fukan BİÇER");
  kullanicilarSortedList.Add(0, "Kerem ÖZER");

  //Aynı şekilde dictionary de ekleyelim
  kullanicilarDictionary.Add(3, "Sinan ERTAN");
  kullanicilarDictionary.Add(1, "Ali RODOPLU");
  kullanicilarDictionary.Add(2, "Okan BİLİR");
  kullanicilarDictionary.Add(5, "Emirhan DAĞLIOĞLU");
  kullanicilarDictionary.Add(4, "Fukan BİÇER");
  kullanicilarDictionary.Add(0, "Kerem ÖZER");


  Console.WriteLine("Dictionary ile");
  foreach (KeyValuePair kullanici in kullanicilarDictionary)

  {
  Console.WriteLine("ID =>"+kullanici.Key+"\t"+"Ad Soyad =>"+kullanici.Value);
  }
  Console.WriteLine("");
  Console.WriteLine("SortedList ile");

  foreach (KeyValuePair kullanici in kullanicilarSortedList)
  {
  Console.WriteLine("ID =>"+kullanici.Key+"\t"+"Ad Soyad =>"+kullanici.Value);
  }
  //dictionary ile sonuç olarak eklediğimiz sıra ile göstermiş oldu
  //sortedlist ile keylerini otomatik olarak sıralayarak göstermiş oldu