最近抽空过一遍C# 3.x的一些新特性,这里写一个简要记录。(每个feature一句话)
C# 3.x new features list:
1. Anonymous Type 匿名类型
用一个var来“装”一个未知类型且具有数据结构的对象。
2. Extension Method 扩展方法
不修改Type(或者说class)为前提下,对一个class的实例化对象提供扩展能力。
3. Lambda Expression λ表达式
引入了λ表达式语法,委托(delegate)+ 匿名委托方法(anonymous method delegate)
更高级语法能力实现。
4. Automatically Implemented Property 自动隐式属性
没什么说的,一句C#就能看懂。
public int X { get; set; }
5. Object Initializer 对象初始化器
仿佛记得此能力来源于pure C++语法。初始化对象时非常方便,也一句C#解释清楚。
Vector v = new Vector { X = 1, Y = 2 }
6. Collection Initializer 集合初始化器
解释见上第5点,基本一致。初始化对象类型差异。
IList<string> list = new List<string> {“X”,”Y”,”Z”}
总结:
以上6个特性都是C#语法层面(语法糖),是在C# Compiler编译到IL过程中,compiler为我们“暗箱”操作完成。
不涉及到Framework修改。以上新特性对于提高coding效率非常有帮助,语法糖的最大用作就是使的make developers so happy.
PS. 下一步WCF深入学习之旅
3 comments
Add comment