Megosztás a következőn keresztül:


A C#-típusok alapértelmezett értékei (C#-referencia)

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:

Lásd még