Collections
& Generics
sind 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
& HashTable
durch List
& ersetzt Dictionary
. Jetzt werden die Arraylist
& HashTable
in heutigen Projekten nicht mehr verwendet.
Der Unterschied zwischen HashTable
& Dictionary
, Dictionary
ist generisch, wo Hastable
nicht 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);
}
}
}