C# 10: neue Record-Struktur-Typen und Namensraumimport
Frisch aufgelegt
Microsofts Programmiersprache C# bietet in Version 10 einige neue Syntaxabkürzungen und neue Varianten von Strukturen auf dem Stack.
C # 10 ist am 8. November 2021 zusammen mit .NET 6 erschienen. Der passende Compiler ist in Visual Studio 2022 und im .NET 6 SDK enthalten. Eine weitere Bezugsquelle bietet Microsoft im NuGet-Paket Microsoft.Net.Compilers (siehe ix.de/zptg). Während man die meisten Sprachfeatures auch in älteren .NET-Versionen nutzen kann, gibt es offiziellen Support nur zur neuesten Version: „C# 10.0 is supported only on .NET 6 and newer versions.“
Namensräume können für das ganze Projekt gelten
Listing 1 zeigt die XML-basierte Projektdatei .csproj im in .NET Core eingeführten prägnanten Projektformat. Die hier gezeigten Einstellungen bei <ImplicitUsings>
und <Nullable>
sind der neue Standard für die Projektvorlagen in .NET 6. Listing 2 besteht nur aus using
-Anweisungen zum Namensraumimport. Das wäre in früheren C#-Versionen zwar erlaubt gewesen, hätte aber keinen Sinn ergeben, denn Namensraumimporte galten nur für die aktuelle Datei. In C# 10 können Softwareentwickler mit dem Zusatz global
deren Gültigkeit auf das gesamte Projekt ausdehnen. Sich wiederholende Listen von using
-Anweisungen zum Beginn jeder Codedatei entfallen damit.