12 Haziran 2013 Çarşamba

Hashtable - Csharp



Hastable, bir dizi topluluğuna veriyi object olarak ekliyebiliyoruz. Fakat, bu object’e bir isim vermeliyiz.
Yine biz bu hashtable kullanabilmemiz için; using System.Collections; namespace’ni eklemeyi unutmamalıyız.
Hashtable’da bir veri eklemenin iki yolu vardır. Birincisi; Hashtable sınıfından türettiğimiz nesnenin ismi.Add(“verinin anahtar ismi”, “verinin ismi”);
İkincisi; hastable sınıfından türettiğimiz nesneninismi[“verinin anahtar ismi”]= verinin ismi
Sonra Hashtable’da bir veri anahtarına bağlı verinin olup olmadığını aramak istediğimiz vakit; ContainsKey metodunu kullanırız burada verinin anahtar ismi ile arama yaparız. Bunun sonucu aradığımız anahtar mevcut ise true değilse false döndürür.
Bir verinin direk olup olmadığınız aratmak istediğimiz vakit ise COntainValue metodu ile arama yaparız veri topluluğunda. Bu veri mevcut ise true değilse bize false döndürür.

Örnek: bir hashtable sınıfından bir nesne türetelim ve bu nesneye veriler ekliyelim. Bu verilerin birer tanede key(anahtarları)olsun. Key ve verilerin kendisine göre kontrol ettirelim. EN sonunda bu verileri bir tane listbox’a ekliyip görüntülüyelim.

Çözümü:
private void Form1_Load(object sender, EventArgs e)
        {
           
            Hashtable illerimiz = new Hashtable();
          
            illerimiz.Add("il1","adana");
            illerimiz["plakano"] = 01;
        
            //MessageBox.Show(illerimiz.ContainsKey("il1").ToString());
            //MessageBox.Show(illerimiz.ContainsValue("adana").ToString());
            //MessageBox.Show(illerimiz["il1"].ToString());

            foreach (DictionaryEntry veri in illerimiz)
            {
                listBox1.Items.Add(veri.Key + ":" + veri.Value);
            }

        }
  Kod Açıklaması:    Hashtable illerimiz = new Hashtable();
           Hashtable sınıfından illerimiz adında bir nesne oluşturduk.
 illerimiz.Add("il1","adana");
 illerimiz["plakano"] = 01;
        
Bu türettiğimiz nesneye iki türlü veri ekleriz. Birincisi illerimiz.Add metodunu kullanırız. Bu metodu kullanırken parantez içine verinin anahtarı(key),verinin ismi

Diğer yöntem ise; illerimiz[“verinin anahtarı(key”)]=verinin değeri

Sonra bu eklediğimiz verileri aramak istedik böyle verimiz ve anahtarı var mı diye?
İllerimiz.ContainsKey(“verinin anahtar değerlerinden biri”) bununla böyle bir anahtarımız veri kümesinin içinde mevcutmu değil mi? Eğer varsa true döndürüyor yoksa false döndürüyor.

İllerimiz.COntainsValue(“verinin değeri”) böyle verimiz var mı yok mu diye? Eğer böyle bir veri varsa true yoksa false döndürüyor.

İllerimiz[“veri anahtarı girersek”] bize o veri anahtarına bağlı verinin ismini döndürür.
Peki biz bu verileri tek tek listbox’a eklemek için foreach döngülerinden birini kullanırız.

foreach (DictionaryEntry veri in illerimiz)
            {
                listBox1.Items.Add(veri.Key + ":" + veri.Value);
            }

Veriler DictionaryEntry olarak saklanır hashtable sınıfında diyoruzki buradaki verileri hangi verileri illerimiz nesnesindeki verileri tek tek kontrol et. Sonra bunları listbox’ın itemlerina ekle add metodu ile yalnız bu verilerin key ve value yani veri anahtarlarını ve verinin kendisinide ekleme işlemi yapıyor bu foreach döngüsü

Hiç yorum yok :

Yorum Gönder

Google PageRank Checker Powered by  MyPagerank.Net