Collections& Genericssind nützlich für die Behandlung von Objektgruppen. In .NET befinden sich alle Sammlungsobjekte unter der Schnittstelle IEnumerable, die wiederum über ArrayList(Index-Value))& verfügt HashTable(Key-Value). Nach .NET Framework 2.0 wurden ArrayList& HashTabledurch List& ersetzt Dictionary. Jetzt werden die Arraylist& HashTablein heutigen Projekten nicht mehr verwendet.
Der Unterschied zwischen HashTable& Dictionary, Dictionaryist generisch, wo Hastablenicht generisch ist. Wir können jedem Objekttyp hinzufügen HashTable, aber beim Abrufen müssen wir ihn in den gewünschten Typ umwandeln. Es ist also nicht typsicher. Aber dictionary, während sich erklären wir die Art von Schlüssel und Wert angeben können, so gibt es keine Notwendigkeit, Guss beim Abrufen.
Schauen wir uns ein Beispiel an:
Hash-tabelle
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);
}
}
}
Wörterbuch,
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);
}
}
}