Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A tabela a seguir mostra os valores padrão dos tipos de C#:
| Tipo | Valor padrão |
|---|---|
| Qualquer tipo de referência | null |
| Qualquer tipo numérico integral integrado | 0 (zero) |
| Qualquer tipo numérico de ponto flutuante incorporado | 0 (zero) |
| bool | false |
| char |
'\0' (U+0000) |
| enum | O valor produzido pela expressão (E)0, onde E é o identificador de enum. |
| struct | O valor produzido definindo todos os campos de tipo de valor para seus valores padrão e todos os campos de tipo de referência para null. |
| Qualquer tipo de valor anulável | Uma instância para a qual a propriedade HasValue é false e a propriedade Value é indefinida. Esse valor padrão também é conhecido como o valor nulo de um tipo de valor nulável. |
A referência da linguagem C# documenta a versão mais recentemente lançada da linguagem C#. Contém também documentação inicial para funcionalidades em pré-visualizações públicas para o próximo lançamento linguístico.
A documentação identifica qualquer funcionalidade introduzida pela primeira vez nas últimas três versões da língua ou em pré-visualizações públicas atuais.
Sugestão
Para saber quando uma funcionalidade foi introduzida pela primeira vez em C#, consulte o artigo sobre o histórico de versões da linguagem C#.
Expressões de valor padrão
Use o operador default para produzir o valor padrão de um tipo, como mostra o exemplo a seguir:
int a = default(int);
Você pode usar o literal default para inicializar uma variável com o valor padrão do seu tipo.
int a = default;
Construtor sem parâmetros de um tipo de valor
Para um tipo de valor, o implícito construtor sem parâmetros também produz o valor padrão do tipo, como mostra o exemplo a seguir:
var n = new System.Numerics.Complex();
Console.WriteLine(n); // output: (0, 0)
Em tempo de execução, se a System.Type instância representar um tipo de valor, pode usar o Activator.CreateInstance(Type) método para chamar o construtor sem parâmetros e obter o valor padrão do tipo.
Observação
Um tipo de estrutura (que é um tipo de valor) pode ter um construtor explícito sem parâmetros que devolve um valor não padrão do tipo. Para obter o valor padrão de um tipo, use o default operador ou o default literal.
Especificação da linguagem C#
Para obter mais informações, consulte as seguintes seções da especificação da linguagem C#