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


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

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

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

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

Используйте оператор 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# :.

См. также