Collections& Genericsrất hữu ích để xử lý nhóm đối tượng. Trong .NET, tất cả các đối tượng bộ sưu tập nằm dưới giao diện IEnumerable, lần lượt có ArrayList(Index-Value))& HashTable(Key-Value). Sau .NET framework 2.0, ArrayList& HashTableđã được thay thế bằng List& Dictionary. Bây giờ, Arraylist& HashTablekhông còn được sử dụng trong các dự án ngày nay.
Đến với sự khác biệt giữa HashTable& Dictionary, Dictionarylà chung trong đó Hastablekhông phải là Chung. Chúng ta có thể thêm bất kỳ loại đối tượng nào HashTable, nhưng trong khi truy xuất, chúng ta cần chuyển nó thành loại yêu cầu. Vì vậy, nó không phải là loại an toàn. Nhưng dictionary, trong khi tự khai báo, chúng ta có thể chỉ định loại khóa và giá trị, do đó không cần phải truyền trong khi truy xuất.
Hãy xem xét một ví dụ:
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);
}
}
}
Từ điển
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);
}
}
}