Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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. |
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 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:
Typ struktury (což je typ hodnoty) může mít explicitní konstruktor bez parametrů, který může vytvořit ne 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#:
- Výchozí hodnoty
- Výchozí konstruktory
- Konstruktory bezparametrových struktur
- automatické výchozí struktury