Neu in .NET 10.0 [3]: C# 14.0

C# 14.0 wird mit .NET 10.0 ausgeliefert. Man kann dennoch einige C# 14.0-Sprachfeatures auch in älteren .NET-Versionen nutzen.

vorlesen Druckansicht
Verkehrsschild mit C#

(Bild: Pincasso/Shutterstock)

Lesezeit: 2 Min.
Von
  • Dr. Holger Schwichtenberg
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

In einem .NET 10.0-Projekt (Projekteinstellung in .csproj-Datei: <TargetFramework>net10.0</TargetFramework>) ist C#-Sprachversion 14.0 der automatisch eingestellte Standard, auch ohne zusätzliches Tag <LangVersion>.

Der Dotnet-Doktor – Holger Schwichtenberg
Der Dotnet-Doktor – Holger Schwichtenberg

Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

C# 14.0 wird offiziell von Microsoft erst ab .NET 10.0 unterstützt. Auf der Learn-Site von Microsoft heißt es: „C# 14.0 is supported only on .NET 10 and newer versions.“

Entwicklerinnen und Entwickler können allerdings auf eigene Verantwortung einige (aber nicht alle!) C# 14.0-Sprachfeatures in älteren .NET-Versionen einschließlich .NET Framework, .NET Core und Xamarin nutzen. Dazu muss man die <LangVersion> in der Projektdatei (.csproj) auf „14.0“ erhöhen:

<PropertyGroup>
  <TargetFramework>.net8.0</TargetFramework>
  <LangVersion>14.0</LangVersion>
</PropertyGroup>

Bitte beachten Sie aber, dass es für den Einsatz von C#-14.0-Sprachfeatures in .NET-Versionen vor 10.0 keinen technischen Support von Microsoft gibt. Bei Problemen können Sie Ihren Supportvertrag nicht nutzen, um Microsoft um Hilfe zu ersuchen. Dennoch ist der Einsatz höherer C#-Versionen in älteren .NET-Projekten in einigen Unternehmen gängige und problemlose Praxis.

Videos by heise

In C# 14.0 sind gegenĂĽber Version 13.0 acht wesentliche Neuerungen erschienen (die in den folgenden Wochen in dieser Blogserie vorgestellt werden):

  • Neue OperatorĂĽberladungen fĂĽr +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= und >>>
  • Erweiterungsblöcke mit dem SchlĂĽsselwort extension
  • Semi-Auto Properties mit dem SchlĂĽsselwort field (die gab es schon in C# 13.0, dort aber experimentell)
  • Partielle Konstruktoren und partielle Ereignisse
  • Null-Conditional Assignment
  • Vereinfachung fĂĽr nameof() mit generischen Typen
  • Vereinfachungen bei Lambda-AusdrĂĽcken
  • Mehr Konvertierungen fĂĽr Spans

Von den oben genannten neuen Sprachfeatures in .NET 10.0 funktionieren alle bis auf eine Ausnahme auch in älteren .NET-Versionen, sofern man <LangVersion>latest</LangVersion> in der Projektdatei setzt. Die Ausnahme sind die neuen Operatorüberladungen. Um diese geht es im nächsten Artikel dieser Serie.

(rme)