Bir önceki yazıda sık kullanılan bazı koleksiyonları incelemiştik. Şimdi de sözlük tabanlı koleksiyonları inceleyeceğiz. Bu koleksiyonların en önemli farkı, içeride tutulan her bir elemanın, aynı zamanda bir key değerine sahip olmasıdır. Zaten okumayı da index yerine, bu key değerleri ile yapmaktayız. Dictionary sınıfı generic bir sınıf olduğundan ötürü, bu sınıfın nesnesini örneklerken içeride tutulacak elemanın ve bu elemanın key değerinin tipini belirleme işini ihtiyacımız doğrultusunda gerçekleştirebiliriz. Daha anlaşılabilir olması açısından basit bir örnek ile incelemeye çalışalım.

Dictionary sınıfınının nesne örneğini oluştururken aşağıdaki tablo ile karşılaşacağız.

Untitled

Gördüğümüz TKey parametresi, index yerine okuma yapacağız key değerinin tipini belirtir. TValue ise, içeride tutulacak elemanların tipini belirtir.

Bu nesne örneğini oluşturup içerisine elemanlar ekleyelim.

class Program

    {

        static void Main(string[] args)

        {

            //TKey parametresi, okuma yapmamızı sağlayan key değerinin tipidir. Burada integer olarak belirttik.

            //TValue parametresi, içeride tutulan elemanın tipini belirtir. Biz burada stringler tutacağımızı belirttik.

            Dictionary<int, string> koleksiyon = new Dictionary<int, string>();

 

            koleksiyon.Add(34, "istanbul");

            koleksiyon.Add(35, "izmir");

            koleksiyon.Add(16, "bursa");

            koleksiyon.Add(10, "balıkesir");

            koleksiyon.Add(41, "kocaeli");

 

        }

    }

Şu an koleksiyon içerisinde 5 adet string tipinden eleman mevcuttur. Bu elemanlarla birilikte integer tipinden birer key değeri de bulunmaktadır. Koleksiyon içerisinden okuma yapmak istersek;

Untitled

Alıştığımız index yapısından farklı olarak, key değeri ile okuma yapıldığını da yukarıda görmemiz mümkündür. int tipinden key alarak, geriye aldığı o key ile eşleşen elemanı döndürür.

Son olarak okuma işlemini gerçekleştirelim. Kodun son hali aşağıdaki gibidir.

class Program

    {

        static void Main(string[] args)

        {

            //TKey parametresi, okuma yapmamızı sağlayan key değerinin tipidir. Burada integer olarak belirttik.

            //TValue parametresi, içeride tutulan elemanın tipini belirtir. Biz burada stringler tutacağımızı belirttik.

            Dictionary<int, string> koleksiyon = new Dictionary<int, string>();

 

            koleksiyon.Add(34, "istanbul");

            koleksiyon.Add(35, "izmir");

            koleksiyon.Add(16, "bursa");

            koleksiyon.Add(10, "balıkesir");

            koleksiyon.Add(41, "kocaeli");

 

            int[] plakaListesi = { 34, 35, 16, 10, 41 };

 

            for (int i = 0; i < plakaListesi.Length; i++)

            {

                int keyDegeri = plakaListesi[i];

                Console.WriteLine(koleksiyon[keyDegeri]);

            }

        }

    }

Ekran çıktısı aşağıdaki gibi olacaktır.

image



0 yorum:

Yorum Gönder