Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der C#-Compiler bestimmt eine Standardsprachversion, die auf den Zielframeworks Ihres Projekts basiert. In Visual Studio gibt es keine Benutzeroberfläche zum Ändern dieses Werts, aber Sie können ihn ändern, indem Sie die CSPROJ-Datei bearbeiten. Mit der Auswahl des Standardwerts wird sichergestellt, dass Sie die neueste Sprachversion nutzen, die mit Ihrem Zielframework kompatibel ist. So profitieren Sie vom Zugriff auf die neuesten Sprachfeatures, die mit dem Zielframework Ihres Projekts kompatibel sind. Diese Standardauswahl stellt außerdem sicher, dass Sie keine Sprachversion verwenden, die Typen oder Laufzeitverhalten erfordert, die in Ihrem Zielframework nicht verfügbar sind. Die Auswahl einer neueren Sprachversion als der Standard kann zu schwer zu diagnostizierenden Kompilierungszeit- und Laufzeitfehlern führen.
Die C#-Sprachreferenz dokumentiert die zuletzt veröffentlichte Version der C#-Sprache. Außerdem enthält sie erste Dokumentation für Features in der öffentlichen Vorschau für die kommende Sprachversion.
In der Dokumentation werden alle Features identifiziert, die in den letzten drei Versionen der Sprache oder in der aktuellen öffentlichen Vorschau eingeführt wurden.
Tipp
Informationen dazu, wann ein Feature erstmals in C# eingeführt wurde, finden Sie im Artikel zum Versionsverlauf der C#-Sprache.
C# 14 wird nur unter .NET 10 und neueren Versionen unterstützt. C# 13 wird nur in .NET 9 und höher unterstützt. C# 12 wird nur in .NET 8 und höher unterstützt. Die Verwendung einer C#-Sprachversion neuer als die Version, die Ihrem Ziel-TFM zugeordnet ist, wird nicht unterstützt.
Ausführliche Informationen dazu, welche .NET-Versionen von Visual Studio-Versionen unterstützt werden, finden Sie auf der Visual Studio-Plattformkompatibilitätsseite .
Standardwerte
Der Compiler bestimmt basierend auf den folgenden Regeln eine Standardversion:
| Ziel | Version | C#-Sprachversionsstandard |
|---|---|---|
| .NET | 10.x | C# 14 |
| .NET | 9.x | C# 13 |
| .NET | 8.x | C# 12 |
| .NET | 7.x | C# 11 |
| .NET | 6.x | C# 10 |
| .NET | 5.x | C# 9.0 |
| .NET Kern | 3.x | C# 8.0 |
| .NET Kern | 2.x | C# 7.3 |
| .NET-Standard | 2.1 | C# 8.0 |
| .NET-Standard | 2.0 | C# 7.3 |
| .NET-Standard | 1.x | C# 7.3 |
| .NET Framework | alle | C# 7.3 |
Wenn Ihr Projekt auf ein preview-Framework abzielt, das eine entsprechende Vorschausprachversion hat, wird die Vorschausprachversion als Sprachversion verwendet. In dieser Vorschau können Sie die neuesten Features in beliebigen Umgebungen verwenden, ohne Auswirkungen auf Projekte für eine veröffentlichte .NET Core-Version zu haben.
Referenz zur C#-Sprachversion
In der folgenden Tabelle sind alle aktuellen C#-Sprachversionen enthalten. Ältere Compiler verstehen möglicherweise nicht jeden Wert. Wenn Sie das neueste .NET SDK installieren, erhalten Sie Zugriff auf alle aufgelisteten Syntaxversionen.
| Wert | Bedeutung |
|---|---|
preview |
Der Compiler akzeptiert jede gültige Sprachsyntax der letzten Vorschauversion. |
latest |
Der Compiler akzeptiert die Syntax der neuesten veröffentlichte Version des Compilers (einschließlich Nebenversionen). |
latestMajoroder default |
Der Compiler akzeptiert die Syntax der neuesten veröffentlichte Hauptversion des Compilers. |
14.0 |
Der Compiler akzeptiert nur syntax, die in C# 14 oder niedriger enthalten ist. |
13.0 |
Der Compiler akzeptiert nur Syntax von C# 13 oder niedriger. |
12.0 |
Der Compiler akzeptiert nur Syntax von C# 12 oder niedriger. |
11.0 |
Der Compiler akzeptiert nur Syntax von C# 11 oder niedriger. |
10.0 |
Der Compiler akzeptiert nur Syntax, die in C# 10 oder niedriger enthalten ist. |
9.0 |
Der Compiler akzeptiert nur Syntax, die in C# 9 oder niedriger enthalten ist. |
8.0 |
Der Compiler akzeptiert nur Syntax, die in C# 8.0 oder niedriger enthalten ist. |
7.3 |
Der Compiler akzeptiert nur Syntax, die in C# 7.3 oder früher enthalten ist. |
7.2 |
Der Compiler akzeptiert nur Syntax, die in C# 7.2 oder früher enthalten ist. |
7.1 |
Der Compiler akzeptiert nur Syntax, die in C# 7.1 oder früher enthalten ist. |
7 |
Der Compiler akzeptiert nur Syntax, die in C# 7.0 oder früher enthalten ist. |
6 |
Der Compiler akzeptiert nur Syntax, die in C# 6.0 oder früher enthalten ist. |
5 |
Der Compiler akzeptiert nur Syntax, die in C# 5.0 oder früher enthalten ist. |
4 |
Der Compiler akzeptiert nur Syntax, die in C# 4.0 oder früher enthalten ist. |
3 |
Der Compiler akzeptiert nur Syntax, die in C# 3.0 oder früher enthalten ist. |
ISO-2oder 2 |
Der Compiler akzeptiert nur Syntax, die in ISO/IEC 23270:2006 C# (2.0) enthalten ist. |
ISO-1oder 1 |
Der Compiler akzeptiert nur Syntax, die in ISO/IEC 23270:2003 C# (1.0/1.2) enthalten ist. |
Hinweis
Die Angabe von LangVersion mit dem Wert default entspricht nicht dem Weglassen der Option LangVersion. Bei der Angabe von default wird die neueste Version der Sprache verwendet, die der Compiler unterstützt, ohne das Zielframework zu berücksichtigen. Beispielsweise wird beim Erstellen eines Projekts für .NET 6 über die aktuelle Version von Visual Studio 2022 C# 10 verwendet, wenn LangVersion nicht angegeben ist. Wenn LangVersion auf default festgelegt ist, wird hingegen C# 12 verwendet.