Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alábbi táblázat a C#-típusok alapértelmezett értékeit mutatja be:
Típus | Alapértelmezett érték |
---|---|
Bármilyen referenciatípus | null |
Bármely beépített integrál numerikus típus | 0 (nulla) |
Bármely beépített lebegőpontos numerikus típus | 0 (nulla) |
Bool | false |
Char | '\0' (U+0000) |
Enum | A kifejezés (E)0 által előállított érték, ahol E az enum azonosító. |
Struct | Az az érték, amely úgy keletkezik, hogy az összes érték típusú mezőt az alapértelmezett értékre állítja, a referencia típusú mezőket pedig a következőre null : . |
Bármely null értékű típus | Egy példány, amelynek a HasValue tulajdonsága és false a Value tulajdonság nincs meghatározva. Ezt az alapértelmezett értéket null értékű értéknek is nevezik. |
Alapértelmezett értékkifejezések
Használja az default
operátort egy típus alapértelmezett értékének előállításához, ahogy az az alábbi példában is látható:
int a = default(int);
A literál használatával default
inicializálhat egy változót a típusának alapértelmezett értékével:
int a = default;
Érték típusú paraméter nélküli konstruktor
Értéktípus esetén az implicit paraméter nélküli konstruktor a típus alapértelmezett értékét is létrehozza, ahogy az alábbi példa is mutatja:
var n = new System.Numerics.Complex();
Console.WriteLine(n); // output: (0, 0)
Futásidőben, ha a System.Type példány értéktípust jelöl, a Activator.CreateInstance(Type) metódussal meghívhatja a paraméter nélküli konstruktort a típus alapértelmezett értékének lekéréséhez.
Feljegyzés
A C# 10-es és újabb verzióiban egy struktúratípus (amely értéktípus) explicit paraméter nélküli konstruktorsal rendelkezhet, amely a típus nem alapértelmezett értékét eredményezheti. Ezért azt javasoljuk, hogy használja az default
operátort vagy a default
literálist egy típus alapértelmezett értékének létrehozásához.
C# nyelvspecifikáció
További információt a C# nyelvspecifikációjának alábbi szakaszaiban talál:
- Alapértelmezett értékek
- Alapértelmezett konstruktorok
- C# 10 – Paraméter nélküli szerkezetkonstruktorok
- C# 11 – Automatikus alapértelmezett szerkezetek