对象初始化器是上面两个,构造函需要提前在类中写好,然后在program.cs中使用,是下面两行。
个人总结两者异同:
同: 1、都是对对象的初始化操作。
异: 1、两者所在的位置不同。构造函数是在类中定义的,其中加上需要初始化的字段。但是字段一旦固定,则不能变化,使用时,构造函数中的字段,必须按照顺序,全部都要初始化,这个具有强制性。对象初始化器则是在使用时再定义,并通过类中的属性,将值赋给字段。
2、构造函数在.net1.0中已经存在,而对象初始化器在.net 3.0中才出现。
两者的括号问题:这两个都是方法,所有格式基本相同,不同之处在于,构造函数是在紧跟其后的小括号中加上需要赋的值即可,最后加上“;”,在类中对构造函数定义时,赋值语句使用分号分隔开,最后一个赋值语句后面加上分号。而在对象初始化器中,不在小括号中做任何操作。而在后面另加一对大括号,在大括号中通过类的属性,对字段赋值,而且在程序语句中是用逗号分开,最后一个赋值操作不用加任何符号,最后在大括号后面加上“;”。