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.

C#-språkreferensen dokumenterar den senaste versionen av C#-språket. Den innehåller även inledande dokumentation för funktioner i offentliga förhandsversioner för den kommande språkversionen.

Dokumentationen identifierar alla funktioner som först introducerades i de tre senaste versionerna av språket eller i aktuella offentliga förhandsversioner.

Tips/Råd

Information om när en funktion först introducerades i C# finns i artikeln om språkversionshistoriken för C#.

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)

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

Obs

En strukturtyp (som är en värdetyp) kan ha en explicit parameterlös konstruktor som returnerar ett icke-standardvärde av typen. Om du vill hämta standardvärdet för en typ använder du operatorn default eller literalen default .

Språkspecifikation för C#

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

Se även