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