Share via


Standaardwaarden van C#-typen (C#-verwijzing)

In de volgende tabel ziet u de standaardwaarden van C#-typen:

Type Default value
Elk verwijzingstype null
Elk ingebouwd integraal numeriek type 0 (nul)
Elk ingebouwd numeriek type drijvende komma 0 (nul)
bool false
Char '\0' (U+0000)
Enum De waarde die wordt geproduceerd door de expressie (E)0, waar E is de enum-id.
Struct De waarde die wordt geproduceerd door alle waardetypevelden in te stellen op de standaardwaarden en alle verwijzingstypevelden.null
Een null-waardetype Een exemplaar waarvan de HasValue eigenschap is false en de Value eigenschap is niet gedefinieerd. Deze standaardwaarde wordt ook wel de null-waarde van een type null-waarde genoemd.

Standaardwaarde-expressies

Gebruik de default operator om de standaardwaarde van een type te produceren, zoals in het volgende voorbeeld wordt weergegeven:

int a = default(int);

U kunt de default letterlijke waarde gebruiken om een variabele te initialiseren met de standaardwaarde van het type:

int a = default;

Parameterloze constructor van een waardetype

Voor een waardetype produceert de impliciete constructor zonder parameters ook de standaardwaarde van het type, zoals in het volgende voorbeeld wordt weergegeven:

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

Als het System.Type exemplaar tijdens runtime een waardetype vertegenwoordigt, kunt u de Activator.CreateInstance(Type) methode gebruiken om de parameterloze constructor aan te roepen om de standaardwaarde van het type te verkrijgen.

Notitie

In C# 10 en hoger kan een structuurtype (een waardetype ) een expliciete parameterloze constructor hebben die een niet-standaardwaarde van het type kan produceren. Daarom raden we u aan de default operator of de default letterlijke waarde te gebruiken om de standaardwaarde van een type te produceren.

C#-taalspecificatie

Zie de volgende secties van de C#-taalspecificatie voor meer informatie:

Zie ook