Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De nieuwste C#-compiler bepaalt een standaardtaalversie op basis van het doelframework of frameworks van uw project. Visual Studio biedt geen gebruikersinterface om de waarde te wijzigen, maar u kunt deze wijzigen door het csproj-bestand te bewerken. De standaardkeuze zorgt ervoor dat u de nieuwste taalversie gebruikt die compatibel is met uw doelframework. U profiteert van toegang tot de nieuwste taalfuncties die compatibel zijn met het doel van uw project. Deze standaardkeuze zorgt er ook voor dat u geen taalversie gebruikt waarvoor typen of runtimegedrag niet beschikbaar zijn in uw doelframework. Als u een nieuwere taalversie kiest dan de standaardversie, kan dit leiden tot problemen met compileertijd en runtimefouten.
De C#-taalreferentiedocumenten de laatst uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.
De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.
Aanbeveling
Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.
C# 14 wordt alleen ondersteund op .NET 10 en nieuwere versies. C# 13 wordt alleen ondersteund op .NET 9 en nieuwere versies. C# 12 wordt alleen ondersteund op .NET 8 en nieuwere versies. Het gebruik van een C#-taalversie die hoger is dan de versie die aan uw doel TFM is gekoppeld, wordt niet ondersteund.
Zie de compatibiliteitspagina van het Visual Studio-platform voor meer informatie over welke .NET-versies worden ondersteund door versies van Visual Studio.
Defaults
De compiler bepaalt een standaardwaarde op basis van deze regels:
| Doel | Versie | Standaardtaalversie van C# |
|---|---|---|
| .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 | Alles | C# 7.3 |
Als uw project is gericht op een preview framework met een bijbehorende preview-taalversie, is de gebruikte taalversie de preview-taalversie. U gebruikt de nieuwste functies met die preview in elke omgeving, zonder dat dit van invloed is op projecten die gericht zijn op een uitgebrachte .NET Core-versie.
Naslaginformatie over de C#-taalversie
In de volgende tabel ziet u alle huidige C#-taalversies. Oudere compilers begrijpen mogelijk niet elke waarde. Als u de nieuwste .NET SDK installeert, hebt u toegang tot alles wat wordt vermeld.
| Weergegeven als | Betekenis |
|---|---|
preview |
De compiler accepteert alle geldige taalsyntaxis uit de nieuwste preview-versie. |
latest |
De compiler accepteert syntaxis van de meest recente uitgebrachte versie van de compiler (inclusief secundaire versie). |
latestMajorof default |
De compiler accepteert syntaxis van de meest recente primaire versie van de compiler. |
14.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 14 of lager. |
13.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 13 of lager. |
12.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 12 of lager. |
11.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 11 of lager. |
10.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 10 of lager. |
9.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 9 of lager. |
8.0 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 8.0 of lager. |
7.3 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 7.3 of lager. |
7.2 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 7.2 of lager. |
7.1 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 7.1 of lager. |
7 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 7.0 of lager. |
6 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 6.0 of lager. |
5 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 5.0 of lager. |
4 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 4.0 of lager. |
3 |
De compiler accepteert alleen syntaxis die is opgenomen in C# 3.0 of lager. |
ISO-2of 2 |
De compiler accepteert alleen syntaxis die is opgenomen in ISO/IEC 23270:2006 C# (2.0). |
ISO-1of 1 |
De compiler accepteert alleen syntaxis die is opgenomen in ISO/IEC 23270:2003 C# (1.0/1.2). |
Notitie
Het opgeven van LangVersion met de default waarde verschilt van het weglaten van de optie LangVersion .
default Opgeven maakt gebruik van de nieuwste versie van de taal die de compiler ondersteunt, zonder rekening te houden met het doelframework. Als u bijvoorbeeld een project bouwt dat is gericht op .NET 6 van de huidige versie van Visual Studio 2022, wordt C# 10 gebruikt als LangVersion niet is opgegeven, maar C# 12 gebruikt als LangVersion is ingesteld op default.