Výchozí hodnoty typů jazyka C# (referenční dokumentace jazyka C#)

V následující tabulce jsou uvedeny výchozí hodnoty typů jazyka C#:

Typ Výchozí hodnota
Libovolný typ odkazu null
Libovolný integrovaný celočíselný typ 0 (nula)
Libovolný předdefinovaný číselný typ s plovoucí desetinou čárkou 0 (nula)
bool false
char '\0' (U+0000)
Výčtu Hodnota vytvořená výrazem (E)0, kde E je identifikátor výčtu.
Struct Hodnota vytvořená nastavením všech polí typu hodnoty na výchozí hodnoty a všechna pole typu odkazu na null.
Libovolný typ hodnoty s možnou hodnotou null Instance, pro kterou HasValue je false vlastnost a Value vlastnost není definována. Tato výchozí hodnota se také označuje jako hodnota null typu hodnoty s možnou hodnotou null.

Výchozí výrazy hodnot

Pomocí operátorudefault vytvořte výchozí hodnotu typu, jak ukazuje následující příklad:

int a = default(int);

Literál můžete použít default k inicializaci proměnné s výchozí hodnotou jeho typu:

int a = default;

Konstruktor bez parametrů typu hodnoty

U typu hodnoty vytvoří implicitní konstruktor bez parametrů výchozí hodnotu typu, jak ukazuje následující příklad:

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

Pokud System.Type instance za běhu představuje typ hodnoty, můžete použít metodu Activator.CreateInstance(Type) k vyvolání konstruktoru bez parametrů k získání výchozí hodnoty typu.

Poznámka

V jazyce C# 10 a novějším může mít typ struktury (což je typ hodnoty) explicitní konstruktor bez parametrů , který může vytvořit výchozí hodnotu typu. Proto doporučujeme použít default operátor nebo default literál k vytvoření výchozí hodnoty typu.

specifikace jazyka C#

Další informace najdete v následujících částech specifikace jazyka C#:

Viz také