最近抽空过一遍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深入学习之旅