Sdílet prostřednictvím


Správa verzí jazyka C#

Nejnovější kompilátor jazyka C# určuje výchozí jazykovou verzi na základě cílové architektury nebo architektur projektu. Visual Studio neposkytuje uživatelské rozhraní pro změnu hodnoty, ale můžete ji změnit úpravou souboru csproj . Volba výchozího nastavení zajistí, že použijete nejnovější jazykovou verzi kompatibilní s cílovou architekturou. Získáte přístup k nejnovějším jazykovým funkcím kompatibilním s cílem projektu. Tato výchozí volba také zajišťuje, že v cílovém rozhraní nepoužíváte jazyk, který vyžaduje typy nebo chování modulu runtime. Volba novější verze jazyka, než je výchozí, může způsobit těžkou diagnostiku chyb při kompilaci a za běhu.

C# 13 je podporován pouze v .NET 9 a novějších verzích. C# 12 se podporuje jenom v .NET 8 a novějších verzích. C# 11 je podporován pouze v .NET 7 a novějších verzích. Použití novější verze jazyka C#, než je verze přidružená k cílové sadě TFM, není podporována.

Podrobnosti o tom, které verze .NET podporují verze sady Visual Studio, najdete na stránce kompatibility platformy Visual Studio. Na stránce Mono zkontrolujte kompatibilitu jazyka C# s verzemi jazyka C#.

Defaults

Kompilátor určuje výchozí hodnotu na základě těchto pravidel:

Cíl Verze Výchozí verze jazyka C#
.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 Framework vše C# 7.3

Pokud váš projekt cílí na architekturu preview , která má odpovídající jazykovou verzi Preview, je použitá jazyková verze preview. V libovolném prostředí používáte nejnovější funkce, které jsou ve verzi Preview, aniž by to mělo vliv na projekty, které cílí na vydanou verzi .NET Core.

Referenční dokumentace jazyka C#

V následující tabulce jsou uvedeny všechny aktuální jazykové verze jazyka C#. Starší kompilátory nemusí rozumět každé hodnotě. Pokud nainstalujete nejnovější sadu .NET SDK, máte přístup ke všemu uvedenému.

Hodnota Význam
preview Kompilátor přijímá veškerou platnou syntaxi jazyka z nejnovější verze Preview.
latest Kompilátor přijímá syntaxi z nejnovější vydané verze kompilátoru (včetně podverze).
latestMajor
nebo default
Kompilátor přijímá syntaxi z nejnovější vydané hlavní verze kompilátoru.
13.0 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 13 nebo nižší.
12.0 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 12 nebo nižší.
11.0 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 11 nebo nižší.
10.0 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 10 nebo nižší.
9.0 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 9 nebo nižší.
8.0 Kompilátor přijímá pouze syntaxi, která je součástí C# 8.0 nebo nižší.
7.3 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 7.3 nebo nižší.
7.2 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 7.2 nebo nižší.
7.1 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 7.1 nebo nižší.
7 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 7.0 nebo nižší.
6 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 6.0 nebo nižší.
5 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 5.0 nebo nižší.
4 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 4.0 nebo nižší.
3 Kompilátor přijímá pouze syntaxi, která je součástí jazyka C# 3.0 nebo nižší.
ISO-2
nebo 2
Kompilátor přijímá pouze syntaxi, která je součástí ISO/IEC 23270:2006 C# (2.0).
ISO-1
nebo 1
Kompilátor přijímá pouze syntaxi, která je součástí ISO/IEC 23270:2003 C# (1.0/1.2).

Poznámka:

Zadání default s hodnotou se liší od vynechání možnosti LangVersion. Určení default používá nejnovější verzi jazyka, který kompilátor podporuje, bez zohlednění cílové architektury. Například sestavení projektu, který cílí na .NET 6 z aktuální verze sady Visual Studio 2022, používá jazyk C# 10, pokud není zadán Jazyk LangVersion , ale používá jazyk C# 12, pokud je jazyk LangVersion nastavený na default.