Значения типов 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# :.
- значения по умолчанию
- Конструкторы по умолчанию
- Конструкторы структур без параметров
- C# 11 — автоматические структуры по умолчанию