Dictionary Sınıfı

Eyl 06, 2013

Dictionary sınıfı bir sıra anahtara karşılık gelen bir sıra değeri saklayan dizi olarak düşünülebilir. Dictionary sınıfı ile nesne oluşturulurken anahtarın ve değerin tipleri belirtilmelidir. Nesne yaratılırken Dictionary<TKey, TValue> parametresi kullanılır. Burada TKey anahtarın tipi, TValue ise değerin tipini belirtmektedir. Nesne yaratıldıktan sonra veri eklendiği zaman anahtara verilen girdi daha önce girilmemiş ve boş bırakılmamış bir girdi olmalıdır. Değer kısmında ise daha önce verilen girdiler de girilebilir veya hiçbir girdi de verilmeyebilir. Bu sınıf kullanılarak oluşturulan nesnelerde anahtara karşı gelen değerler için casting(dönüştürme) işlemi yapılmasına gerek yoktur. Çok daha basit bir şekilde değerin tipi ne ise aynı tipte bir değişkene değer atanabilmektedir.

Uygulama

  1. Öncelikle Dictionary<int, string> tipinde bir veri oluşturulur. Bu veri Session(Oturum)’da değer varsa oradan doldurulur yoksa boş bir nesne oluşturulur. 

        protected Dictionary<int, string> ornek;
        public Dictionary<int, string> Ornek
        {
            get
            {
                if (ornek == null)
                    ornek = new Dictionary<int, string>();
                if (Session["Ornek"] != null)
                    ornek = (Dictionary<int, string>)Session["Ornek"];
                return ornek;
            }
            set { ornek = value; }
        }

  2. Uygulamanın görsel kısmı aşağıdaki gibidir.



  3. Burada “Anahtar” ve isteğe bağlı olarak “Değer” kutucukları doldurulduktan sonra "Ekle" düğmesine basıldığı zaman Dictionary sınıfı ile oluşturulan nesneye veri girişi yapılır.

            int anahtar = Convert.ToInt32(tbAnahtar.Text.Trim());
            if(!Ornek.ContainsKey(anahtar))
                Ornek.Add(anahtar, tbDeger.Text.Trim());
            Session["Ornek"] = Ornek;

  4. Veri girişi yapıldıktan sonra altında listeleme işlemi de yapılmaktadır.



  5. "Sil" düğmesine basıldığı zaman "Ornek.Remove(anahtar)" kodu çalışmaktadır.
  6. "Güncelle" düğmesine basıldığında güncelleme panosu açılır ve burada anahtar üzerinde bir değişiklik yapmadan değer değiştirilebilir.



  7. Değer değiştirildikten sonra "Tamam" düğmesine basıldığında “Ornek[anahtar]=tbGuncelDeger.Text” kodu çalışır ve değer değiştirilmiş olur.
  8. Uygulamanın son hali aşağıdaki gibi olur.