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

Následující tabulka uvádí výchozí hodnoty typů jazyka C#:

Type Default value
Libovolný typ odkazu null
Libovolný integrovaný číselný typ 0 (nula)
Libovolný předdefinovaný číselný typ s plovoucí desetinou čárkou 0 (nula)
bool false
char '\0' (U+0000)
enum Hodnota vytvořená výrazem (E)0, kde E je identifikátor výčtu.
struct Hodnota vytvořená nastavením všechpolích 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átoru default 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 jejího typu:

int a = default;

Konstruktor bez parametrů typu hodnoty

U typu hodnoty vytvoří implicitní konstruktor bez parametrů také 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 představuje typ hodnoty, můžete v době běhu použít Activator.CreateInstance(Type) metodu k vyvolání konstruktoru bez parametrů k získání výchozí hodnoty typu.

Poznámka:

V jazyce C# 10 a novější může mít typ struktury (což je typ hodnoty) explicitní konstruktor bez parametrů, který může vytvořit nevýkonnou 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é