Steven Giesel
29.11.2022, 10:40 Uhr
Frozen collections in .NET 8
.NET 7 ist da, die Arbeit an .NET 8 hat begonnen. Ein erster Blick auf die frühe Alpha-Version zeigt eingefrorene Collections.
.NET 8 wird die nächste LTS-Version werden. Bis zu ihrem geplanten Veröffentlichungstermin sind noch rund zwölf Monate Zeit. Der Schweizer Entwickler Steven Giesel hat sich zur Aufgabe gemacht, die Entwicklung von .NET 8 zu begleiten und gelegentlich auch Blogbeiträge dazu zu veröffentlichen. Sein erster Blick auf den Alpha 1 Build von .NET8 -- also auf eine Version, bis zur Veröffentlichung noch komplett überarbeitet werden wird -- hat ihm die sogenannten Frozen collections vor Augen geführt.
In diesem englischsprachigen Blogbeitrag diskutiert Geisel die Unterschiede zwischen ImmutableList und einer eingefrorenen Liste. Im Moment kennt .NET8 grundsätzlich zwei Arten von eingefrorenen Sammlungen: FrozenSet und FrozenDictionary.
Auf der Suche nach einer Antwort auf die Frage warum es Frozen Collections braucht, landet Geisel letztlich -- nach dem er einige Benchmarks durchgeführt hat -- bei Performance-Vorteilen für die eingefrorenen Sammlungen. Weiß der Entwickler, dass sich eine einmal eingeführte Liste niemals verändern wird, braucht sein Code auch die Funktionen zum Verändern der Liste nicht mitschleppen. Dann ist die Frozen Collection die richtige, weil schankere und schnellere Wahl.