CSharp 9.0 (C# 9.0)
Eintrag zuletzt aktualisiert am: 24.02.2022
C# 9.0 ist der Nachfolger von
C# 8.0 und ist am 10.12.2020 zusammen mit
.NET 5.0 erschienen.
Support
Microsoft unterstützt offiziell C# 9.0 nur in
.NET 5.0 und höher. Es ist aber dennoch möglich, die meisten Sprachfeatures auch in älteren .NET-Versionen (
.NET Framework,
.NET Core) zu nutzen.
Neue Sprachfeatures in C# 9.0
Null Referenz-Prüfungen / Nullable Reference Types string? !.
Standardimplementierungen in Schnittstellen (*1)
Switch Expressions
Index ^ und Range .. (*1)
Null Coalescing Assignment ??=
Alternative für verbatim interpolated Strings: @$ zusätzlich zu $@
Async
Streams (*2)
Static Local Functions
using-Deklarations ohne Blöcke
Recursive Patterns
Unmanaged
Constructed Types
Readonly-Mitglieder in einer Struktur
Dispose() für ref structs (Strukturen auf dem Stack)
(*1) erfordert
.NET Standard 2.1, d.h. nur für
.NET Core,
Xamarin,
Mono und
Unity. Nicht für
.NET Framework!
(*2) Möglich unter
.NET Framework mit zusätzlichen
Nuget-Paketen
https://montemagno.com/use-csharp-8-everywehre