Compartir a través de


Valores predeterminados de tipos de C# (referencia de C#)

En la tabla siguiente se muestran los valores predeterminados de los tipos de C#:

Tipo Valor predeterminado
Cualquier tipo de referencia null
Cualquier tipo numérico entero integrado 0 (cero)
Cualquier tipo numérico de punto flotante integrado 0 (cero)
bool false
char '\0' (U+0000)
enum Valor generado por la expresión (E)0, donde E es el identificador de enumeración.
struct Valor generado estableciendo todos los campos de tipo de valor en sus valores predeterminados y todos los campos de tipo de referencia en null.
Cualquier tipo de valor que acepta valores NULL Una instancia para la cual la propiedad HasValue es false y la propiedad Value no está definida. Este valor predeterminado también se conoce con el valor null de un tipo de valor que acepta valores NULL.

La referencia del lenguaje C# documenta la versión publicada más recientemente del lenguaje C#. También contiene documentación inicial sobre las características de las versiones preliminares públicas de la próxima versión del lenguaje.

La documentación identifica cualquier característica introducida por primera vez en las últimas tres versiones del idioma o en las versiones preliminares públicas actuales.

Sugerencia

Para buscar cuándo se introdujo por primera vez una característica en C#, consulte el artículo sobre el historial de versiones del lenguaje C#.

Expresiones de valor predeterminadas

Use el operador default para generar el valor predeterminado de un tipo, como se muestra en el ejemplo siguiente:

int a = default(int);

Puede usar el literal default para inicializar una variable con el valor predeterminado de su tipo:

int a = default;

Constructor sin parámetros de un tipo de valor

Para un tipo de valor, el constructor implícito sin parámetros también genera el valor predeterminado del tipo, como se muestra en el ejemplo siguiente:

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

En tiempo de ejecución, si la System.Type instancia representa un tipo de valor, puede usar el Activator.CreateInstance(Type) método para llamar al constructor sin parámetros y obtener el valor predeterminado del tipo.

Nota

Un tipo de estructura (que es un tipo de valor) puede tener un constructor sin parámetros explícito que devuelva un valor no predeterminado del tipo. Para obtener el valor predeterminado de un tipo, use el default operador o el default literal.

Especificación del lenguaje C#

Para obtener más información, consulte las secciones siguientes de la especificación del lenguaje C# :

Consulte también