其实类型初始化器只是一种语法糖这样写MyClass a=new MyClass{ filedOne="a" ,filedTwo="b" };会被编译器编译成和如下结构相同的IL代码MyClass a=new MyClass();a.filedOne="a";a.filedTwo="b";所以从CLR公共语言运行时的角度来看,它们完全一样,没有任何区别。
其实类型初始化器只是一种语法糖这样写MyClass a=new MyClass{ filedOne="a" ,filedTwo="b" };会被编译器编译成和如下结构相同的IL代码MyClass a=new MyClass();a.filedOne="a";a.filedTwo="b";所以从CLR公共语言运行时的角度来看,它们完全一样,没有任何区别。