为什么struct不能有无参数构造函数?为CLR做这件事有什么问题?为什么不允许这样做?请解释一下,因为我不明白.
我不能有一个显式的无参数构造函数,只有隐式的构造函数,它将所有成员初始化为默认值.
虽然CLR允许它,但C#不允许结构具有默认的无参数构造函数.原因是,对于值类型,编译器默认情况下既不生成默认构造函数,也不生成对默认构造函数的调用.因此,即使您碰巧定义了默认构造函数,也不会调用它,这只会让您感到困惑.为避免此类问题,C#编译器不允许用户定义默认构造函数.并且因为它不生成默认构造函数,所以在定义字段时无法初始化字段,...