Künstliche Intelligenz
Neu in .NET 10.0 [3]: C# 14.0
In einem .NET 10.0-Projekt (Projekteinstellung in .csproj-Datei: net10.0) ist C#-Sprachversion 14.0 der automatisch eingestellte Standard, auch ohne zusätzliches Tag .
Weiterlesen nach der Anzeige
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 in der Projektdatei (.csproj) auf „14.0“ erhöhen:
.net8.0
14.0
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.
In C# 14.0 sind gegenüber Version 13.0 acht wesentliche Neuerungen erschienen (die in den folgenden Wochen in dieser Blogserie vorgestellt werden):
Weiterlesen nach der Anzeige
- 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 latest in der Projektdatei setzt. Die Ausnahme sind die neuen Operatorüberladungen. Um diese geht es im nächsten Artikel dieser Serie.
(rme)