Partilhar via


LanguageVersion Enumeração

Definição

Especifica a versão do idioma.

public enum class LanguageVersion
public enum LanguageVersion
type LanguageVersion = 
Public Enum LanguageVersion
Herança
LanguageVersion

Campos

CSharp1 1

Linguagem C# versão 1

CSharp10 1000

Linguagem C# versão 10.0

Recursos:

  • Estruturas de registro
  • Diretivas using globais
  • Aprimoramentos do Lambda
  • Atribuição definitiva aprimorada
  • Cadeias de caracteres interpoladas constantes
  • Combinar declarações e variáveis em desconstrução
  • Padrões de propriedade estendida
  • ToString de registro lacrado
  • APIs do Gerador de Origem v2
  • AsyncMethodBuilder no nível do método
CSharp11 1100

Linguagem C# versão 11.0
Recursos:

  • Literais de cadeia de caracteres bruta
  • Membros abstratos estáticos em interfaces
  • Atributos genéricos
  • Novas linhas em interpolações
  • Padrões de lista
  • Membros necessários
  • Padrão de constante span<char>
  • Struct auto-default
  • Nameof(parameter)
  • Operadores verificados definidos pelo usuário
  • Cadeia de caracteres UTF-8 literais
  • Operador de deslocamento para a direita sem sinal
  • Operador shift relaxado
  • Campos ref
  • Tipos de locais de arquivos
CSharp12 1200

Linguagem C# versão 12.0
Recursos:

  • Construtores primários
  • Usando aliases para qualquer tipo
  • Nameof acessando membros da instância
  • Matrizes embutidas
  • Expressões de coleção
  • Ref readonly parameters
  • Parâmetros opcionais lambda
CSharp2 2

Linguagem C# versão 2

CSharp3 3

Linguagem C# versão 3

Recursos: LINQ.

CSharp4 4

Linguagem C# versão 4

Recursos: dinâmicos.

CSharp5 5

Linguagem C# versão 5

Recursos: atributos de informações assíncronas e chamadas.

CSharp6 6

Linguagem C# versão 6

Recursos:

  • Uso de uma classe estática
  • Filtros de exceção
  • Await em blocos catch/finally
  • Inicializadores de propriedade automática
  • Propriedades e métodos de expressão
  • Operador de propagação nula ?.
  • Interpolação de cadeia de caracteres
  • operador nameof
  • Inicializador de dicionário
CSharp7 7

Linguagem C# versão 7.0

Recursos:

  • Variáveis out
  • Correspondência de padrões
  • Tuplas
  • Desconstrução
  • Descartes
  • Funções locais
  • Separadores de dígito
  • Locais e retornos de ref
  • Tipos de retorno assíncrono generalizado
  • Mais membros aptos para expressão
  • Expressões throw
CSharp7_1 701

Linguagem C# versão 7.1

Recursos:

  • Assíncrono Principal
  • Literal padrão
  • Nomes de elementos de tupla inferidos
  • Correspondência de padrões com genéricos
CSharp7_2 702

Linguagem C# versão 7.2

Recursos:

  • Ref readonly
  • Ref e structs somente leitura
  • Extensões ref
  • Operador de ref condicional
  • Protegido de forma particular
  • Separadores de dígito após o especificador base
  • Argumentos nomeados que não estejam à direita
CSharp7_3 703

Linguagem C# versão 7.3

Recursos:

  • A indexação de campos fixos não requer fixação
  • variáveis locais ref podem ser reatribuídas
  • Matrizes stackalloc dão suporte a inicializadores
  • Mais tipos dão suporte à instrução fixa
  • Restrições genéricas aprimoradas
  • Suporte a tuplas == e !=
  • Anexar atributos aos campos de suporte de propriedades autoimplementadas
  • Melhorias na resolução de sobrecarga de método quando os argumentos diferem por 'in'
  • Estender variáveis de expressão em inicializadores
  • Candidatos de sobrecarga aprimorados
  • Novas opções do compilador (-publicsign e -pathmap)
CSharp8 800

Linguagem C# versão 8.0

Recursos:

  • Membros somente leitura
  • Métodos de interface padrão
  • Aprimoramentos de correspondência de padrões (expressões de comutador, padrões de propriedade, padrões de tupla e padrões posicionais)
  • Declarações using
  • Funções locais estáticas
  • Estruturas ref descartáveis
  • Tipos de referência anuláveis
  • Fluxos assíncronos
  • Descartável assíncrono
  • Índices e intervalos
  • Atribuição de avaliação de nulo
  • Tipos construídos não gerenciados
  • Stackalloc em expressões aninhadas
  • Aprimoramento de cadeias de caracteres verbatim interpoladas
CSharp9 900

Linguagem C# versão 9.0

Recursos:

  • Registros
  • Setters somente init
  • Instruções de nível superior
  • Melhorias na correspondência de padrões
  • Inteiros de tamanho nativo
  • Ponteiros de função
  • Suprimir a emissão do sinalizador localsinit
  • Expressões new com tipo de destino
  • Funções anônimas static
  • Expressão condicional com tipo de destino
  • Tipos de retorno covariantes
  • Suporte a GetEnumerator de extensão para loops foreach
  • Parâmetros discard de lambda
  • Atributos em funções locais
  • Inicializadores de módulo
  • Novos recursos para métodos parciais
Default 0

A versão de idioma padrão, que é a versão mais recente com suporte.

Latest 2147483647

A versão mais recente com suporte do idioma.

LatestMajor 2147483645

A versão mais recente com suporte principal.

Preview 2147483646

Versão prévia da próxima versão do idioma.

Aplica-se a