Dela via


Standardvärden för C#-typer (C#-referens)

I följande tabell visas standardvärdena för C#-typer:

Typ Standardvärde
Vilken som helst referenstyp null
Alla inbyggda heltalstyper 0 (noll)
Någon inbyggd flyttalstyp för numeriska värden 0 (noll)
bool false
tecken '\0' (U+0000)
enum Värdet av uttrycket (E)0, där E är enumidentifieraren.
struct Värdet som skapas genom att ange alla fält av värdetyp till sina standardvärden och alla fält av referenstyp till null.
Vilken som helst nullbar värdetyp En instans där egenskapen HasValue är false och egenskapen Value är odefinierad. Standardvärdet kallas även null- värdet för en nullbar värdetyp.

Standardvärdeuttryck

Använd operatorn default för att skapa standardvärdet för en typ, vilket visas i följande exempel:

int a = default(int);

Du kan använda default literal för att initiera en variabel med standardvärdet för dess typ:

int a = default;

Parameterlös konstruktor av en värdetyp

För en värdetyp genererar implicit parameterlös konstruktor också standardvärdet för typen, vilket visas i följande exempel:

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

Vid körning, om System.Type-instansen representerar en värdetyp, kan du använda metoden Activator.CreateInstance(Type) för att anropa den parameterlösa konstruktorn för att hämta standardvärdet för typen.

Obs

En strukturtyp (som är en värdetyp) kan ha en explicit parameterlös konstruktor som kan ge ett värde av typen som inte är standard. Därför rekommenderar vi att du använder operatorn default eller default literal för att skapa standardvärdet för en typ.

Språkspecifikation för C#

Mer information finns i följande avsnitt i C#-språkspecifikationen:

Se även