Udostępnij przez


Wartości domyślne typów języka C# (referencja C#)

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

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

Dokumentacja języka C# zawiera ostatnio wydaną wersję języka C#. Zawiera również początkową dokumentację funkcji w publicznej wersji zapoznawczej nadchodzącej wersji językowej.

Dokumentacja identyfikuje dowolną funkcję po raz pierwszy wprowadzoną w ostatnich trzech wersjach języka lub w bieżącej publicznej wersji zapoznawczej.

Wskazówka

Aby dowiedzieć się, kiedy funkcja została po raz pierwszy wprowadzona w języku C#, zapoznaj się z artykułem dotyczącym historii wersji języka C#.

Wyrażenia wartości domyślnej

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

int a = default(int);

Aby zainicjować zmienną jej domyślną wartością typu, można użyć literału default:

int a = default;

Konstruktor bezparametrowy typu wartościowego

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żesz użyć Activator.CreateInstance(Type) metody , aby wywołać konstruktor bez parametrów i uzyskać domyślną wartość typu.

Notatka

Typ struktury (który jest typem wartości) może mieć jawny konstruktor bez parametrów, który zwraca wartość inną niż domyślna typu. Aby uzyskać wartość domyślną typu, użyj default operatora lub default literału.

Specyfikacja języka C#

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

Zobacz też

  • Konstruktory