Sdílet prostřednictvím


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

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

Typ Výchozí hodnota
Libovolný typ odkazu null
Libovolný integrovaný číselný typ 0 (nula)
Libovolný předdefinovaný číselný typ s plovoucí desetinou čárkou 0 (nula)
bool false
znak '\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.

Referenční dokumentace jazyka C# dokumentuje naposledy vydané verze jazyka C#. Obsahuje také počáteční dokumentaci k funkcím ve verzi Public Preview pro nadcházející jazykovou verzi.

Dokumentace identifikuje všechny funkce, které byly poprvé představeny v posledních třech verzích jazyka nebo v aktuálních verzích Public Preview.

Návod

Informace o tom, kdy byla funkce poprvé představena v jazyce C#, najdete v článku o historii verzí jazyka C#.

Přednastavené 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 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 za běhu představuje typ hodnoty, můžete pomocí Activator.CreateInstance(Type) metody volat konstruktor bez parametrů a získat výchozí hodnotu typu.

Poznámka:

Typ struktury (což je typ hodnoty) může mít explicitní konstruktor bez parametrů, který vrací ne defaultní hodnotu typu. Pokud chcete získat výchozí hodnotu typu, použijte default operátor nebo default literál.

Specifikace jazyka C#

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

Viz také