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

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

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

Примечание.

В C# 10 и более поздних версиях тип структуры (который является типом значения) может иметь явный конструктор без параметров, который может возвращать значение типа, отличное от значения по умолчанию. Рекомендуется использовать оператор default или литерал default для создания значения по умолчанию для типа.

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

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

См. также