Collections
& Generics
nesne grubunu işlemek için kullanışlıdır. .NET'te, tüm koleksiyon nesneleri arabirim altında gelir IEnumerable
ve bu da ArrayList(Index-Value))
& karakterine sahiptir HashTable(Key-Value)
. .NET framework 2.0 sonra ArrayList
& HashTable
ile değiştirilmiştir List
& Dictionary
. Artık, günümüz projelerinde Arraylist
& HashTable
artık kullanılmamaktadır.
HashTable
& Dictionary
, Arasındaki farka gelince Dictionary
jenerik Hastable
değil jenerik. Herhangi bir nesne türünü ekleyebiliriz HashTable
, ancak geri alırken onu gereken türe dökmemiz gerekir. Yani, tip güvenli değildir. Ancak dictionary
, kendini bildirirken, anahtar ve değer türünü belirtebiliriz, bu nedenle geri alırken yayınlamaya gerek yoktur.
Bir örneğe bakalım:
HashTable
class HashTableProgram
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add(1, "One");
ht.Add(2, "Two");
ht.Add(3, "Three");
foreach (DictionaryEntry de in ht)
{
int Key = (int)de.Key; //Casting
string value = de.Value.ToString(); //Casting
Console.WriteLine(Key + " " + value);
}
}
}
Sözlük,
class DictionaryProgram
{
static void Main(string[] args)
{
Dictionary<int, string> dt = new Dictionary<int, string>();
dt.Add(1, "One");
dt.Add(2, "Two");
dt.Add(3, "Three");
foreach (KeyValuePair<int, String> kv in dt)
{
Console.WriteLine(kv.Key + " " + kv.Value);
}
}
}