C Sharp ile Hashtable Koleksiyon Sınıfı

'Black-Life

Kıdemli Üye
13 Mar 2013
2,543
0
38
Teşkilat
Merhaba Arkadaşlar,
C Sharp'ta sıklıkla kullanılan Hashtable sınıfından bahsetmek istiyorum.
Nedir bu Hashtable Sınıfı, ne işe yarar örnek üzerinde göreceğiz.
Hashtable Sınıfında veriler Object türünden Anahtar / Değer şeklinde tutulmaktadır. Anahtarı değiştiremeyiz ve boş bir değer atayamayız buna karşın değeri değiştirebilme olanağımız var istersek boş değer de atayabiliyoruz.
Bu sınıfı kullabilmek için using System.Collections kod satırını eklememiz gerekecek.

Kod:
[COLOR=royalblue]using System;
using System.Collections;[/COLOR]


Yeni bir Hashtable nesnesi oluşturacağım, adına Boylar dedim çünkü kişilerin boy uzunluklarını tutan bir uygulama yapayım dedim.

Kod:
[COLOR=royalblue]Hashtable Boylar =  new Hashtable();[/COLOR]

Şimdi Boylar nesnesine veri ekleyelim;

Kod:
[COLOR=royalblue]Boylar["Onur"] = 170;
Boylar["Hidayet"] = 190;
Boylar["Enes"] = 188;
Boylar["Fatma"]=165;[/COLOR]

Döngü olarak Foreach'i kullanacağım ve tekrarlayıcı Anahtar/Değer ikilisini içeren bir nesne oluştaracağım.

Kod:
[COLOR=royalblue]foreach (DictionaryEntry element in Boylar)
{
       string Adlar = (string)element.Key;
       int Boy = (int)element.Value;
       Console.WriteLine("Isim: {0}, Boy: {1}", Adlar, Boy);
}[/COLOR]

Programın çıktısında İsim/Boy ikilisi alfabetik olarak sıralanacaklar;


Isim: Enes, Boy: 188
Isim: Fatma, Boy: 165
Isim: Hidayet, Boy: 190
Isim: Onur, Boy: 170
 

hamush

Katılımcı Üye
26 Haz 2012
635
1
Aman hocam, eğer yukarıdaki örnek gibi mesela, bütün key'ler string ve bütün value'lar int ise, HashTable'ı boşveriyoruz ve Dictionary<string,int> oluşturuyoruz. Böylece hem işlem yaparken dönüştürme yapma zorunluluğundan kurtuluyoruz, hem de gereksiz hafıza yemiyoruz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.