Collections
& Generics
корисні для обробки групи об'єктів. У .NET всі об'єкти колекцій потрапляють під інтерфейс IEnumerable
, який у свою чергу має ArrayList(Index-Value))
& HashTable(Key-Value)
. Після .NET Framework 2.0, ArrayList
& HashTable
були замінені на List
& Dictionary
. Тепер Arraylist
& & HashTable
більше не використовуються в сучасних проектах.
Переходячи до різниці між HashTable
& Dictionary
, Dictionary
є загальним, де як Hastable
це не є загальним. Ми можемо додати до будь-якого типу об’єкт HashTable
, але під час отримання нам потрібно привести його до потрібного типу. Отже, це не безпечно. Але до того dictionary
, заявляючи про себе, ми можемо вказати тип ключа та значення, тому немає необхідності робити це під час пошуку.
Розглянемо приклад:
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);
}
}
}
Словник,
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);
}
}
}