Freigeben über


Standardwerte von C#-Typen (C#-Referenz)

Die folgende Tabelle zeigt die Standardwerte von C#-Typen:

Typ Standardwert
Beliebiger Bezugstyp null
Beliebiger integrierter integraler numerischer Typ 0 (Null)
Beliebiger integrierter Gleitkomma-Numerischer Typ 0 (Null)
bool false
char '\0' (U+0000)
enum Der vom Ausdruck (E)0erzeugte Wert, wobei E es sich um den Enumerationsbezeichner handelt.
Struktur Der Wert, der erzeugt wird, indem alle Werttypfelder auf ihre Standardwerte und alle Bezugstypfelder festgelegt werden.null
Beliebiger Nullwerttyp Eine Instanz, für die die HasValue Eigenschaft und false die Value Eigenschaft nicht definiert ist. Dieser Standardwert wird auch als Nullwert eines Nullwerttyps bezeichnet.

Ausdrücke mit Standardwert

Verwenden Sie den default Operator , um den Standardwert eines Typs zu erzeugen, wie im folgenden Beispiel gezeigt:

int a = default(int);

Sie können das default Literal verwenden, um eine Variable mit dem Standardwert des Typs zu initialisieren:

int a = default;

Parameterloser Konstruktor eines Werttyps

Bei einem Werttyp erzeugt der implizite parameterlose Konstruktor auch den Standardwert des Typs, wie das folgende Beispiel zeigt:

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

Wenn die System.Type Instanz zur Laufzeit einen Werttyp darstellt, können Sie die Activator.CreateInstance(Type) Methode verwenden, um den parameterlosen Konstruktor aufzurufen, um den Standardwert des Typs abzurufen.

Hinweis

Ein Strukturtyp (ein Werttyp) kann einen expliziten parameterlosen Konstruktor aufweisen, der möglicherweise einen nicht standardmäßigen Wert des Typs erzeugt. Daher empfehlen wir die Verwendung des default Operators oder des default Literals, um den Standardwert eines Typs zu erzeugen.

C#-Sprachspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten der C#-Sprachspezifikation:

Siehe auch