Collections
& Generics
rấ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
& HashTable
khô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
, Dictionary
là chung trong đó Hastable
khô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);
}
}
}