知识大全 关于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相关参考