2、Object Initializers——对象初始化器
本初始化器可以促进编译器自动生成property setter代码,由此可为用户省略了几行硬代码的编写。.NET Framework中的Types依赖于properties的使用。在初始化和使用一个新类时,开发人员通常要写出如下代码:
|
你是否曾经想过使这一代码变得更加简洁,也许只用一行就可以实现?使用C# 和VB “Orcas”编译器,你可以充分利用名为“object Initializers”的“syntactic sugar”语言特征使以上代码简化如下:
|
编译器将会自动产生合适的property setter代码来保持与上述详细代码段同样的语义。
对象初始化器不仅可在初时化类型时设置简单的属性值,而且允许我们随意设置更复杂嵌套的属性类型。比如,假设我们上述定义的每个Person类型均有一个“Address”类型的Address属性。我们可以用如下代码来创建Person对象并设置其属性:
|
3、Collection Initializers——集合初始化器
这一新特性与上述特性基本相同,唯一不同之处在于它作用于集合。对象初始化器功能强大可以帮助开发人员更加容易且简洁的添加对象到集合中。例如,如果我想添加三个people到一个“Person”类型的generics-based List集合中,我们可以用以下代码实现:
|
在这个例子中仅使用新的对象初时化器特性一条,和C# 2.0编译器相比我们就省去12条额外代码的编写。
C# and VB “Orcas”编译器不仅使我们在对象的声明和初始化方面更加简单,而且支持“collection initializers”可以使我们避免成倍的Add语句,同时节省更多的击键次数:
|
当编译器遇到如上语法,它将自动产生集合插入代码,就像如上所示拥有更详尽Add语句的代码段一般。
总之,作为开发人员,我们现在拥有更加简洁的方式来定义对象,初始化他们,然后添加他们到集合。在运行时,它所表达的语义将和今天所书写的详细语法一样正确,因此你不必担心任何行为上的变化。同时,现在你不必书写更多的代码,你的代码将变得更加简洁明了。
【责任编辑:火凤凰 TEL:(010)68476606-8007】
| 共2页: 上一页 [1] 2 | ||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||