Partilhar via


Valores padrão de tipos C# (referência C#)

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.

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 instância System.Type representa um tipo de valor, você pode usar o método Activator.CreateInstance(Type) para invocar o construtor sem parâmetros para 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 pode produzir um valor não padrão do tipo. Assim, recomendamos usar o operador default ou o literal default para produzir o valor padrão de um tipo.

Especificação da linguagem C#

Para obter mais informações, consulte as seguintes seções da especificação da linguagem C#.

Ver também