Collections
& Generics
berguna 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
& HashTable
diganti dengan List
& Dictionary
. Sekarang, Arraylist
& HashTable
tidak lagi digunakan dalam proyek saat ini.
Datang ke perbedaan antara HashTable
& Dictionary
, Dictionary
adalah generik di mana Hastable
tidak 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);
}
}
}