Configurar a versão da linguagem C#
Se precisar especificar sua versão do C# explicitamente, poderá fazer isso de várias maneiras:
- Edite manualmente o arquivo do projeto.
- Definir a versão da linguagem para vários projetos em um subdiretório.
- Configure a opção do compilador LangVersion.
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). |