C# 类型的默认值(C# 参考)
下表显示了 C# 类型的默认值:
类型 | 默认值 |
---|---|
任何引用类型 | null |
任何内置整数数值类型 | 0 (零) |
任何内置浮点型数值类型 | 0 (零) |
布尔 | false |
字符 | '\0' (U+0000) |
枚举 | 表达式 (E)0 生成的值,其中 E 是枚举标识符。 |
结构 | 通过将所有值类型字段设置为其默认值,并将所有引用类型字段设置为 null 生成的值。 |
任何可以为 null 的值类型 | HasValue 属性为 false 且 Value 属性未定义的实例。 该默认值也称为可空值类型的 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# 语言规范
有关详细信息,请参阅 C# 语言规范的以下部分: