继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

C#-对象初始化器 088

慕尼黑5497867
关注TA
已关注
手记 378
粉丝 21
获赞 77

之前学习数组声明时,就有一种声明方式是 int[] nums=new int[] { 1, 2, 3, 4, 5 };其数组元素赋值相当于nums[0]=1;而对象初始化器与此类似,只不过对象初始化器是在实例化对象时为对象的属性进行赋值;先看如下案例

C#-对象初始化器 088

对象初始化器及案例

首先定义一个Person类,类中只有两个自动属性(便于截图),初始化器主要的是new Person();后面的大括号,在大括号中按空格键就会提示要赋值的属性名,每个属性之间使用逗号隔开,赋值时有提示该属性是什么类型的,而且被赋值后的属性名不再提示为其赋值,使用非常方便

对象初始化器与构造方法的的区别如下

相同点:都是可以对对象的属性值进行初始化赋值

不同点:

1)构造方法有强制性,方法参数必须赋值;对象初始化器没有强制性,其中属性可赋可不赋

2)对象初始化器只能对属性(公有的)进行初始化,而构造方法可以对对象任意成员(包括公有与私有还有其他的等)进行初始化工作

3)对象初始化器在创建对象的时候使用,构造方法是写在类里面的

4)构造方法.NET版本就有,对象初始化器只能在.NET3.0以上版本使用

5)使用对象初始化器对象必须有一个无参的构造方法,如果没有编译时就会报错;构造方法只要有就行不管是不是有无参数(其构造方法都必须是公有的)

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP