Standaardwaarden van C#-typen (C#-verwijzing)
In de volgende tabel ziet u de standaardwaarden van C#-typen:
Type | Standaardwaarde |
---|---|
Elk verwijzingstype | null |
Alle ingebouwde integrale numerieke typen | 0 (nul) |
Elk ingebouwd numeriek type drijvende komma | 0 (nul) |
bool | false |
teken |
'\0' (U+0000) |
enum | De waarde die wordt gegenereerd door de expressie (E)0 , waarbij E de opsomming-ID is. |
struct | De waarde die wordt geproduceerd door alle waardetypevelden in te stellen op de standaardwaarden en alle verwijzingstypevelden op null . |
Elke waarde van een mogelijk null-type | Een exemplaar waarvoor de eigenschap HasValue is false en de eigenschap Value 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 het letterlijke van
int a = default;
Parameterloze constructor van een waardetype
Voor een waardetype produceert de impliciete parameterloze constructor 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
Een structuurtype (een waardetype) kan een expliciete parameterloze constructor hebben die een niet-standaardwaarde van het type kan produceren. Daarom raden we u aan de operator default
of de letterlijke default
te gebruiken om de standaardwaarde van een type te produceren.
C#-taalspecificatie
Zie de volgende secties van de C#-taalspecificatievoor meer informatie:
- standaardwaarden
- standaardconstructors
- constructors zonder parameters
- C# 11 - Automatische default structs