C#2.0,3.0和4.0中的新function列表

我在.NET 1.1项目上工作了很长时间,我被困在C#1.0,​​现在我想赶上最新最好的。

Google在C#v2.0中返回了很多关于新function的信息,但对于版本3和版本4,我只发现了部分信息。

互联网上是否存在某些列表,列出了在v2.0,v3.0和v4.0中引入的所有新function?

为我自己的书完整插件,但希望不是无偿的: 在深度中掌握第二版C#的早期访问版本。 它跳过C#1,但详细介绍了C#2,3和4的每个function。

如果您只想要一个function列表,请参阅附录C:

C#2.0:

C#2的主要特性是generics,可空类型,匿名方法和其他与委托相关的增强和迭代器块。 此外,还引入了几个较小的function:部分类型,静态类,具有不同访问修饰符的属性,用于getter和setter,名称空间别名,pragma指令和固定大小的缓冲区。

C#3.0:

C#3主要针对LINQ构建,尽管许多function在其他地方都很有用。 自动属性,数组和局部变量的隐式类型,对象和集合初始值设定项以及匿名类型都在XREF ch8章节中介绍。 Lambda表达式和表达式树扩展了2.0版中与委托相关的进度,扩展方法提供了查询表达式的最后一个成分。 部分方法仅在C#3中添加,尽管部分类型本身在C#2中。正如Marc在评论中指出的那样,generics类型推断在C#3中得到了相当大的推动。

C#4.0:

C#4.0有一些旨在实现互操作性的function,但没有相同的C#3.0一心一意。 同样,“小”特征(命名参数,可选参数,更好的COM互操作,通用方差)和动态类型的巨大特征之间存在相当明显的区别。

我有一个C#2的“bluffers指南”和C#3的另一个指南,但我还没有完成C#4的等效指导,但我很害怕。

C#2: MSDN , 维基百科

C#3: MSDN , Wikipedia , Stackoverflow

C#4: MSDN , 维基百科 , Stackoverflow

从1.1到2.0(IMO) 最大变化是引入了generics 。 从2.0开始,generics也是许多其他.NET技术的基础。 我建议你开始学习,真正了解仿制药。

  • C#3.0:

隐式输入的局部变量
匿名类型
扩展方法
对象和集合初始值设定项
Lambda表达式
查询表达式
表达树

  • C#4.0