Wartości domyślne typów języka C# (odwołanie w C#)

W poniższej tabeli przedstawiono wartości domyślne typów języka C#:

Typ Domyślna wartość
Dowolny typ odwołania null
Dowolny wbudowany typ liczbowy całkowity 0 (zero)
Dowolny wbudowany typ liczbowy zmiennoprzecinkowa 0 (zero)
bool false
char '\0' (U+0000)
enum Wartość wygenerowana przez wyrażenie (E)0, gdzie E jest identyfikatorem wyliczenia.
struct Wartość wygenerowana przez ustawienie wszystkich pól typu wartości na wartości domyślne i wszystkie pola typu odwołania na nullwartość .
Dowolny typ wartości dopuszczanej do wartości null Wystąpienie, dla którego HasValue właściwość jest false i Value właściwość jest niezdefiniowana. Ta wartość domyślna jest również znana jako wartość null typu wartości dopuszczanej do wartości null.

Wyrażenia wartości domyślnej

default Użyj operatora , aby utworzyć wartość domyślną typu, jak pokazano w poniższym przykładzie:

int a = default(int);

Możesz użyć default literału , aby zainicjować zmienną z wartością domyślną jej typu:

int a = default;

Konstruktor bez parametrów typu wartości

W przypadku typu wartości niejawny konstruktor bez parametrów generuje również wartość domyślną typu, jak pokazano w poniższym przykładzie:

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

W czasie wykonywania, jeśli System.Type wystąpienie reprezentuje typ wartości, można użyć Activator.CreateInstance(Type) metody , aby wywołać konstruktor bez parametrów, aby uzyskać wartość domyślną typu.

Uwaga

W języku C# 10 lub nowszym typ struktury (który jest typem wartości) może mieć jawny konstruktor bez parametrów , który może generować wartość inną niż domyślna typu. W związku z tym zalecamy użycie default operatora lub default literału w celu wygenerowania wartości domyślnej typu.

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz następujące sekcje specyfikacji języka C#:

Zobacz też