Avatar ·

Warum ist Dictionary in C# Hashtable vorzuziehen? Wir analysieren die Unterschiede

Hallo zusammen! Ich bin ein C#-Anfänger und bin auf eine Situation gestoßen, die mich verwirrt hat. Beim Studium von Collections bin ich auf zwei ähnliche Klassen gestoßen: `Hashtable` und `Dictionary`. Beide speichern, wie ich verstanden habe, Key-Value-Paare und ermöglichen eine schnelle Datensuche über den Key.\n\nIn alten Codebeispielen und in einigen Büchern sehe ich oft `Hashtable`. Zum Beispiel so:\n\n```csharp\nHashtable table = new Hashtable();\ntable.Add("key1", "value1");\ntable.Add(123, 42); // key — int, value — int\nstring val = (string)table["key1"]; // explizites Casting erforderlich\n```\n\nAber in modernen Projekten und auf Stack Overflow schreibt jeder über `Dictionary`. Ich habe beide Varianten ausprobiert und bemerkt, dass der Code mit `Dictionary` anders aussieht:\n\n```csharp\nDictionary dict = new Dictionary