知识大全 关于C#3.0 新特性之对象构造者

Posted

篇首语:不患人之不己知,患不知人也。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于C#3.0 新特性之对象构造者相关的知识,希望对你有一定的参考价值。

关于C#3.0 新特性之对象构造者  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  C# 中加入的对象构造者特性 使得对象的初始化工作变得格外简单 我们可以采用类似于数组初始化的方式来初始化类的对象 方法就是直接在创建类对象的表达式后面跟上类成员的初始化代码

  以前我们在声明数组时 可以同时对其进行初始化 这样就省去了很多麻烦 但是在创建类的对象时 这招可就不灵了 我们要么调用该类的构造函数完成对象的初始化 要么就手工进行初始化 这两种方法都不太方便 使用构造函数来对对象进行初始化时 我们为了某种灵活性 可能需要编写构造函数的多个重载版本 实在是麻烦

  具体示例如下

  以下是引用片段

  

  以下是引用片段    class Point       public int X get; set;    public int Y get; set;       public override string ToString()       return ( + X ToString() + + Y ToString() + ) ;             class Rectangle       public Point P get; set;    public Point P get; set;       public Rectangle()       P = new Point();    P = new Point();          public override string ToString()       return P : + P + P : + P ;             class ObjectBuilder : AppRunner AbstractApplication       public override void Run()       Point thePoint = new Point() X = Y = ;    Console WriteLine( Point(X Y) = thePoint);       Rectangle theRectangle = new Rectangle()    P = X = Y = P = X = Y =    ;    Console WriteLine(theRectangle);      

  我们在定义Point类的X和Y属性时 只须写上该属性的get和set访问器声明 C#编译器会自动为我们生成默认的get和set操作代码 当我们需要定义简单属性时 这个特性非常有用

  我们以new Point() X = Y = 语句 轻松的完成了对Point类的初始化工作 在创建类的对象时 我们可以按照需要去初始化类的对象 只要在类的创建表达式后跟上要初始化属性的列表即可 且可以只对需要初始化的属性赋初值 而无需把所有属性的初始值都写上去

cha138/Article/program/net/201311/12621

相关参考