Collections& Genericsberguna untuk menangani kelompok objek. Di .NET, semua objek koleksi berada di bawah antarmuka IEnumerable, yang pada gilirannya memiliki ArrayList(Index-Value))& HashTable(Key-Value). Setelah .NET framework 2.0, ArrayList& HashTablediganti dengan List& Dictionary. Sekarang, Arraylist& HashTabletidak lagi digunakan dalam proyek saat ini.
Datang ke perbedaan antara HashTable& Dictionary, Dictionaryadalah generik di mana Hastabletidak generik. Kita dapat menambahkan semua jenis objek HashTable, tetapi saat mengambil kita perlu melemparkannya ke jenis yang diperlukan. Jadi, ini bukan tipe yang aman. Tetapi untuk dictionary, saat mendeklarasikan sendiri, kita dapat menentukan jenis kunci dan nilai, sehingga tidak perlu digunakan saat mengambil.
Mari kita lihat sebuah contoh:
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);
}
}
}
Kamus,
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);
}
}
}