Configurar a versão da linguagem C#

Se precisar especificar sua versão do C# explicitamente, poderá fazer isso de várias maneiras:

Dica

Você pode ver a versão do idioma no Visual Studio na página de propriedades do projeto. Na guia Compilar, o painel Avançado exibe a versão selecionada.

Para saber qual versão da linguagem você está usando no momento, coloque #error version (diferencia maiúsculas de minúsculas) em seu código. Isso torna o relatório do compilador um erro do compilador, CS8304, com uma mensagem contendo a versão do compilador em uso e a versão atual da linguagem selecionada. Confira #erro (Referência C#) para obter mais informações.

Editar o arquivo de projeto

É possível definir a versão da linguagem em seu arquivo de projeto. Por exemplo, se você quiser explicitamente acesso às versões prévias dos recursos, adicione um elemento como este:

<PropertyGroup>
   <LangVersion>preview</LangVersion>
</PropertyGroup>

O valor preview usa a versão prévia mais recente da linguagem C# compatível com seu compilador.

Configurar vários projetos

Para configurar vários projetos, é possível criar um arquivo Directory.Build.props, normalmente no seu diretório de soluções, que contenha o elemento <LangVersion>. Adicione a seguinte configuração ao arquivo Directory.Build.props:

<Project>
 <PropertyGroup>
   <LangVersion>preview</LangVersion>
 </PropertyGroup>
</Project>

As compilações em todos os subdiretórios do diretório que contém esse arquivo agora usam a versão prévia do C#. Para obter mais informações, confira Personalizar seu build.

Referência à versão da linguagem C#

A tabela a seguir mostra todas as versões atuais da linguagem C#. Os compiladores mais antigos podem não entender todos os valores. Se você instalar o SDK do .NET mais recente, terá acesso a tudo o que está listado.

Valor Significado
preview O compilador aceita todas as sintaxes de linguagem válidas da versão prévia mais recente.
latest O compilador aceita a sintaxe da versão lançada mais recente do compilador (incluindo a versão secundária).
latestMajor
ou default
O compilador aceita a sintaxe da versão principal mais recente lançada do compilador.
13.0 O compilador aceita somente a sintaxe incluída no C# 13 ou inferior.
12.0 O compilador aceita somente a sintaxe incluída no C# 12 ou versão inferior.
11.0 O compilador aceita somente a sintaxe incluída no C# 11 ou inferior.
10.0 O compilador aceita somente a sintaxe incluída no C# 10 ou inferior.
9.0 O compilador aceita somente a sintaxe incluída no C# 9 ou inferior.
8.0 O compilador aceita somente a sintaxe incluída no C# 8.0 ou inferior.
7.3 O compilador aceita somente a sintaxe incluída no C# 7.3 ou inferior.
7.2 O compilador aceita somente a sintaxe incluída no C# 7.2 ou inferior.
7.1 O compilador aceita somente a sintaxe incluída no C# 7.1 ou inferior.
7 O compilador aceita somente a sintaxe incluída no C# 7.0 ou inferior.
6 O compilador aceita somente a sintaxe incluída no C# 6.0 ou inferior.
5 O compilador aceita somente a sintaxe incluída no C# 5.0 ou inferior.
4 O compilador aceita somente a sintaxe incluída no C# 4.0 ou inferior.
3 O compilador aceita somente a sintaxe incluída no C# 3.0 ou inferior.
ISO-2
ou 2
O compilador aceita somente a sintaxe incluída no ISO/IEC 23270:2006 C# (2.0).
ISO-1
ou 1
O compilador aceita somente a sintaxe incluída no ISO/IEC 23270:2003 C# (1.0/1.2).