C#3.0中加入的对象构造者特性,使得C#对象初始化工作变得格外简单,我们可以采用类似于数组初始化的方式来初始化类的对象,方法就是直接在创建类对象的表达式后面跟上类成员的初始化代码。
创新互联专注于翠屏网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供翠屏营销型网站建设,翠屏网站制作、翠屏网页设计、翠屏网站官网定制、成都微信小程序服务,打造翠屏网络公司原创品牌,更为您提供翠屏网站排名全网营销落地服务。
以前我们在声明数组时,可以同时对其进行初始化,这样就省去了很多麻烦,但是在创建类的对象时,这招可就不灵了,我们要么调用该类的构造函数完成C#对象初始化,要么就手工进行初始化。这两种方法都不太方便,使用构造函数来对对象进行初始化时,我们为了某种灵活性,可能需要编写构造函数的多个重载版本,实在是麻烦。
具体示例如下:
- classPoint
- {
- publicintX{get;set;}
- publicintY{get;set;}
- publicoverridestringToString()
- {
- return"("+X.ToString()+","+Y.ToString()+")";
- }
- }
- classRectangle
- {
- publicPointP1{get;set;}
- publicPointP2{get;set;}
- publicRectangle()
- {
- P1=newPoint();
- P2=newPoint();
- }
- publicoverridestringToString()
- {
- return"P1:"+P1+",P2:"+P2;
- }
- }
- classObjectBuilder:AppRunner.AbstractApplication
- {
- publicoverridevoidRun()
- {
- PointthePoint=newPoint(){X=1,Y=2};
- Console.WriteLine("Point(X,Y)={0}",thePoint);
- RectangletheRectangle=newRectangle(){
- P1={X=1,Y=1},P2={X=100,Y=200}
- };
- Console.WriteLine(theRectangle);
- }
- }
我们在定义Point类的X和Y属性时,只须写上该属性的get和set访问器声明,C#编译器会自动为我们生成默认的get和set操作代码,当我们需要定义简单属性时,这个特性非常有用。
我们以new Point() { X = 1, Y = 2 }语句,轻松的完成了对Point类的初始化工作。在创建类的对象时,我们可以按照需要去初始化类的对象,只要在类的创建表达式后跟上要初始化属性的列表即可,且可以只对需要初始化的属性赋初值,而无需把所有属性的初始值都写上去。
在theRectangle对象的初始化表达式中,我们首先对P1属性进行初始化,然而P1属性也是一个自定义的类型,所以P1属性的初始化是另一个类型(Point)的初始化表达式,我们可以这样的方式来对更加复杂的类型进行初始化。以上介绍C#对象初始化。
【编辑推荐】
分享标题:C#对象初始化学习总结
文章链接:http://www.gawzjz.com/qtweb/news39/172889.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联