CSharp 10.0 (C# 10.0)
Eintrag zuletzt aktualisiert am: 24.02.2022
C# 10.0 ist der Nachfolger von
C# 9.0 und ist am 8.11.2021 zusammen mit
.NET 6.0 erschienen.
Support
Microsoft unterstützt offiziell C# 10.0 nur in
.NET 6.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# 10.0
Neuerungen bei Namensräumen
- Implizit Namespace Imports
- File-Scoped Namespaces: Namensraumdeklarationen auf Dateiebene namespace CS10;
- Global Using Directives: gelten für das ganze Projekt global using Hilfsklassen;
Neuerungen bei Records
- Record Structs (record struct, record readonly struct, record == record class)
- Sealed Record ToString(): Record-Typen können ToString() mit sealed versehen
Klonen mit with auch bei normalen Strukturen und anonymen Typen
Strukturen mit parameterlosem Konstruktor
Extended
Property Patterns: Pattern Matching: { Prop1.Prop2: pattern } alternativ zu { Prop1: { Prop2: pattern } }
Constant Interpolated Strings: const string Name = $"Dr. {Vorname} {Nachname}"
Interpolated String in Konstantendefinitionen (nur mit Konstanten!)
Mixed Deconstructions: Mischung von Zuweisung und Initialisierung in Tupel-Dekonstruktion möglich (x, int y) = point;
Lambda: Typherleitung, explizite Rückgabetypen und
Annotationen/
Attribute für Lambda-Ausdrücke
Inkrementelle Source Code-Generatoren