Поделиться через


Значения типов C# по умолчанию (справочник по C#)

В следующей таблице показаны значения типов C# по умолчанию:

Тип Значение по умолчанию
Любой ссылочный тип null
Любой встроенный числовой тип целочисленного типа 0 (ноль)
Любой встроенный числовый тип с плавающей запятой 0 (ноль)
bool false
char '\0' (U+0000)
перечисление Значение, созданное выражением (E)0, где E является идентификатором перечисления.
struct Значение, создаваемое установкой всех полей значимостного типа на их значения по умолчанию и всех полей ссылочного типа на null.
Любой тип данных, который может принимать значение NULL, Экземпляр, для которого HasValue-свойство есть false, а Value-свойство не определено. Это значение по умолчанию также называется null значением типа значения, допускающего значение NULL.

Справочные документы на языке C#, выпущенные последней версией языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.

Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.

Подсказка

Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей по журналу версий языка C#.

Выражения значений по умолчанию

Используйте оператор default для создания значения по умолчанию типа, как показано в следующем примере:

int a = default(int);

Для инициализации переменной значением по умолчанию её типа можно использовать литерал default.

int a = default;

Конструктор без параметров типа значения

Для типа значения неявный конструктор без параметров также создает значение по умолчанию типа, как показано в следующем примере:

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

В среде выполнения, если System.Type экземпляр представляет тип значения, можно использовать Activator.CreateInstance(Type) метод для вызова конструктора без параметров и получения значения по умолчанию типа.

Заметка

Тип структуры (который является типом значения) может иметь явный конструктор без параметров , который возвращает значение типа, отличного от по умолчанию. Чтобы получить значение типа по умолчанию, используйте default оператор или default литерал.

Спецификация языка C#

Дополнительные сведения см. в следующих разделах спецификации языка C# :.

См. также