Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В следующей таблице показаны значения типов 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# :.
- значения по умолчанию
- Конструкторы по умолчанию
- Конструкторы структур без параметров
- автоматические структуры по умолчанию