Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A legújabb C#-fordító a projekt cél-keretrendszere vagy keretrendszerei alapján határozza meg az alapértelmezett nyelvi verziót. A Visual Studio nem biztosít felhasználói felületet az érték módosításához, de a csproj fájl szerkesztésével módosíthatja. Az alapértelmezett beállítás biztosítja, hogy a cél-keretrendszerrel kompatibilis legújabb nyelvi verziót használja. A projekt céljával kompatibilis legújabb nyelvi funkciókhoz férhet hozzá. Ez az alapértelmezett beállítás azt is biztosítja, hogy ne használjon olyan nyelvi verziót, amely olyan típusokat vagy futtatókörnyezeti viselkedést igényel, amelyek nem érhetők el a cél-keretrendszerben. Ha az alapértelmezettnél újabb nyelvi verziót választ, az nehezen diagnosztizálható fordítási és futásidejű hibákat okozhat.
A C# nyelv referenciadokumentuma a C# nyelv legújabb kiadású verzióját ismerteti. Emellett a közelgő nyelvi kiadás nyilvános előzetes verziójú funkcióinak kezdeti dokumentációját is tartalmazza.
A dokumentáció azonosítja azokat a funkciókat, amelyeket először a nyelv utolsó három verziójában vagy az aktuális nyilvános előzetes verziókban vezetnek be.
Jótanács
Ha meg szeretné tudni, hogy mikor jelent meg először egy funkció a C#-ban, tekintse meg a C# nyelvi verzióelőzményeiről szóló cikket.
A C# 15 csak .NET 11 és újabb verziók esetén támogatott. A C# 14 csak .NET 10 és újabb verziók esetén támogatott. A C# 13 csak .NET 9 és újabb verziók esetén támogatott. A cél TFM-hez társított verziónál újabb C#-nyelvi verzió használata nem támogatott.
A Visual Studio verziói által támogatott .NET-verziók részletes leírását a Visual Studio platform kompatibilitási oldalán találja.
Defaults
A fordító az alábbi szabályok alapján határozza meg az alapértelmezett értéket:
| Cél | Verzió | A C#-nyelv alapértelmezett verziója |
|---|---|---|
| .NET | 11.x | C# 15 |
| .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 Core | 3.x | C# 8.0 |
| .NET Core | 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-keretrendszer | mind | C# 7.3 |
Ha a projekt egy megfelelő előzetes verziójú keretrendszert preview céloz meg, a használt nyelvi verzió az előzetes verzió. A legújabb funkciókat bármilyen környezetben használhatja az előzetes verzióval, anélkül, hogy befolyásolná a kiadott .NET Core-verziót megcélzó projekteket.
C# nyelvi verzióra vonatkozó referencia
Az alábbi táblázat az összes aktuális C#-nyelvi verziót tartalmazza. Előfordulhat, hogy a régebbi fordítók nem értenek minden értéket. Ha a legújabb .NET SDK-t telepíti, a felsoroltakhoz minden hozzáférése van.
| Érték | Értelmezés |
|---|---|
preview |
A fordító a legújabb előzetes verzió összes érvényes nyelvszintaxisát elfogadja. |
latest |
A fordító elfogadja a fordító legújabb kiadású verziójának szintaxisát (beleértve az alverziót is). |
latestMajorvagy default |
A fordító elfogadja a fordító legújabb főverziójának szintaxisát. |
15.0 |
A fordító csak a C# 15 vagy annál alacsonyabb szintaxist fogadja el. |
14.0 |
A fordító csak a C# 14 vagy annál alacsonyabb változatokban található szintaxist fogadja el. |
13.0 |
A fordító csak a C# 13 vagy annál alacsonyabb szintaxist fogadja el. |
12.0 |
A fordító csak a C# 12 vagy annál alacsonyabb szintaxist fogadja el. |
11.0 |
A fordító csak a C# 11 vagy annál alacsonyabb szintaxist fogadja el. |
10.0 |
A fordító csak a C# 10 vagy annál alacsonyabb szintaxist fogadja el. |
9.0 |
A fordító csak a C# 9 vagy annál alacsonyabb szintaxist fogadja el. |
8.0 |
A fordító csak a C# 8.0 vagy annál alacsonyabb szintaxist fogadja el. |
7.3 |
A fordító csak a C# 7.3 vagy annál alacsonyabb szintaxist fogadja el. |
7.2 |
A fordító csak a C# 7.2-ben vagy annál alacsonyabb szintaxist fogadja el. |
7.1 |
A fordító csak a C# 7.1 vagy annál alacsonyabb szintaxist fogadja el. |
7 |
A fordító csak a C# 7.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
6 |
A fordító csak a C# 6.0 vagy annál alacsonyabb szintaxist fogadja el. |
5 |
A fordító csak a C# 5.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
4 |
A fordító csak a C# 4.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
3 |
A fordító csak a C# 3.0-s vagy újabb verziójában szereplő szintaxist fogadja el. |
ISO-2vagy 2 |
A fordító csak az ISO/IEC 23270:2006 C# (2.0) szabványban foglalt szintaxist fogadja el. |
ISO-1vagy 1 |
A fordító csak az ISO/IEC 23270:2003 C# (1.0/1.2) szabványban foglalt szintaxist fogadja el. |
Feljegyzés
A LangVersion értékének default megadása eltér a LangVersion beállítás kihagyásától. A beállítás default a fordító által támogatott nyelv legújabb verzióját használja, a cél-keretrendszer figyelembe vétele nélkül. Ha például a Visual Studio 2022 jelenlegi verziójából a .NET 6-ot célozza meg, akkor a C# 10-et használja, ha a LangVersion nincs megadva, de a C# 12-t használja, ha a LangVersion értéke default.