默认构造函数
所有值类型都隐式声明一个称为默认构造函数的公共无参数实例构造函数。默认构造函数返回一个零初始化实例,它就是该值类型的默认值。
· 对于所有“简单类型”,默认值是将其所有位都置零的位模式所形成的值:
· 对于 sbyte、byte、short、ushort、int、uint、long 和 ulong,默认值为 0。
· 对于 char,默认值为 ‘\x0000’。
· 对于 float,默认值为 0.0f。
· 对于 double,默认值为 0.0d。
· 对于 decimal,默认值为 0.0m。
· 对于 bool,默认值为 false。
· 对于“枚举类型”E,默认值为 0。
· 对于“结构类型”,默认值是通过将所有值类型字段设置为它们的默认值、将所有引用类型字段设置为 null 而产生的值。
与任何其他实例构造函数一样,值类型的默认构造函数也是用 new 运算符调用的。出于效率原因,实际上,不必故意调用它的构造函数。在下面的示例中,变量 i 和 j 都被初始化为零。
class A
{
void F() {
int i = 0;
int j = new int();
}
}
由于每个值类型都隐式地具有一个公共无参数实例构造函数,因此,一个结构类型中不可能包含一个关于无参数构造函数的显式声明。但允许结构类型声明参数化实例构造函数