Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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: