Neu in .NET 9.0 [16]: Neue Mengenklasse OrderedDictionary<T,T>
Das altbekannte OrderedDictionary gibt es nun auch in einer generischen Variante.
(Bild: Pincasso/Shutterstock.com)
- Dr. Holger Schwichtenberg
Seit .NET Framework 2.0 und .NET Core 1.0 gibt es die Klasse System.Collections.Specialized.OrderedDictionary zum Abspeichern von Name-Wert-Paaren, sortiert nach Reihenfolge des EinfĂĽgens und mit schnellem Auffinden eines Elements anhand des SchlĂĽssels oder Wertes. Die Add()-Methode erwartet dabei zwei beliebige .NET-Objekte.
In .NET 9.0 fĂĽhrt Microsoft endlich auch eine generische Variante OrderedDictionary<T,T> im Namensraum System.Collections.Generic ein, mit der man den Typ fĂĽr SchlĂĽssel und Wert festzurren kann.
Videos by heise
Folgender Code zeigt den Einsatz von OrderedDictionary<T,T>:
public void GenericOrderedDictionary()
{
CUI.Demo(nameof(GenericOrderedDictionary));
OrderedDictionary<string, int> d = new()
{
["www.IT-Visions.de"] = 1996,
["www.dotnet7.de"] = 2022,
["www.dotnet8.de"] = 2023,
["www.dotnet-lexikon.de"] = 2000,
};
d.Add("www.dotnet9.de", 2024);
d.RemoveAt(1);
d.Insert(0, "www.dotnetframework.de", 2000);
foreach (KeyValuePair<string, int> entry in d)
{
Console.WriteLine(entry);
}
}
Das Listing ergibt folgende Ausgabe:
[www.dotnetframework.de, 2000]
[www.IT-Visions.de, 1996]
[www.dotnet8.de, 2023]
[www.dotnet-lexikon.de, 2000]
[www.dotnet9.de, 2024]
(rme)