引用类型包含值类型字段,引用类型初始化后,值类型默认会被初始化为0、Null。 CLR允许为值类型定义构造器,但是构造器的调用,就必须显式的写代码来调用它们。 CLR不允许为值类型定义无参构造器。只能定义有参构造器,并且构造器中必须为值类型中的所有字段全部赋值,否则报错。 c#中虽然没有无参构造器,但是可以使用这个语法初始化在内部的字段: StructType st = new StructType();//为内部字段初始化0或者null 所以对定义有参构造器的参考写法: 代码如下: public StructType(int x){ //定义有参构造器 this = new StructT