5.00 / 1 oy

C# Hashtable Kullanımı ve Örnekleri

Hashtable, önceki yazımda da bahsettiğim gibi bir koleksiyon sınıfıdır. Hashtable koleksiyonlarının temel özelliği, elemanlarının key (anahtar) ve value (değer) çiftleri ile saklanmasıdır.

Not: Hashtable içerisindeki key'lerin tümü birbirinden farklı olmalıdır.

Örnek: Bir sınıfta her bir öğrenciye bir adet dolap tahsis edildiğini ve hangi dolabın hangi öğrenciye ait olduğunu da C# programlama dili ile Hashtable kullanılarak saklandığını düşünelim.

Hashtable dolaplar = new Hashtable();
dolaplar.Add(1,"Ali");
dolaplar.Add(2,"Hakan");
dolaplar.Add(3,"Ayşe");
dolaplar.Add(4,"Fatma");
dolaplar.Add(5,"Tolga");

 

Okullar açıldığında 2. dolabın kime ait olduğu konusunda öğrenciler bize soru sorduklarında 2 no'lu (key) dolabın sahibini bulmak için;

System.Console.WriteLine(dolaplar[2]); //Hakan

 

7 numaralı bir dolap olup olmadığını tespit etmek için;

System.Console.WriteLine(dolaplar.ContainsKey(7)); //False

 

Ayşe'nin bir dolabu olup olmadığını kontrol etmek için (Hashtable içerisinde value araması)

System.Console.WriteLine(dolaplar.ContainsValue("Ayşe")); //True

 

Tüm dolapları ve sahiplerini yazdırmak için (Hashtable içerisindeki tüm key ve value'ları yazdırmak için):

foreach (DictionaryEntry dolap in dolaplar)
    Console.WriteLine("Dolap No: " + dolap.Key + " Sahibi: " + dolap.Value);

Çıktı:

Dolap No: 5 Sahibi: Tolga
Dolap No: 4 Sahibi: Fatma
Dolap No: 3 Sahibi: Ayşe
Dolap No: 2 Sahibi: Hakan
Dolap No: 1 Sahibi: Ali

 

Not: Hashtable key'leri farklı veri tiplerine de sahip olabilir. Örneğin plaka ile araç sahibi sözlüğü hazırlarken hem key hem de value değerleri string olabilir.

 

Önceki bazı diğer benzer yazılarım için;

bkz: C# ve Generic ile Non-Generic Koleksiyonlar Nelerdir?

bkz: C# ile params anahtar sözcüğü kullanımı ve örnekleri

bkz: C# Programlama Dilinde Koleksiyon Nedir?

bkz: Interface Nedir?

bkz: C# ile iki boyutlu ArrayList Tanımlamak

bkz: C# Hata Ayıklama Sürecinde Watch, Locals ve Autos Kullanımı

mbologlu

11.05.2021 04:52

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Hashtable Kullanımı ve Örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.