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