关于C 3.0:C 2.0、3.0和4.0中的新功能列表

List of new features in C# 2.0, 3.0 and 4.0

我在.NET 1.1项目上工作了很长一段时间,一直停留在C 1.0,现在我想赶上最新和最棒的项目。

谷歌返回了很多关于C 2.0版新功能的信息,但对于3版和4版,我只找到了部分信息。

互联网上有没有一些在2.0版、3.0版和4.0版的C中引入的所有新功能的列表?


为我自己的书完成插件,但希望不是免费的:深入了解C第二版的早期访问版本。它跳过了C 1,但详细介绍了C 2、3和4的每个特性。

但是,如果您只想要一个特性列表,请参见附录C:

C 2:

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

C 3:

C 3主要面向LINQ构建,尽管许多功能在其他地方很有用。自动属性、数组和局部变量的隐式类型、对象和集合初始值设定项和匿名类型都在xref ch8章中介绍。lambda表达式和表达式树扩展了2.0版中与委托相关的进展以及扩展方法为查询表达式提供了最后一个要素。部分方法只在C 3中添加,尽管部分类型本身在C 2中。正如马克在评论中指出的那样,通用类型推理在C 3中得到了相当大的提升。

C 4:

C 4.0有一些旨在实现互操作性的功能,但没有相同的功能。C 3.0的一心一意。同样,在"小"功能(命名参数,可选参数、更好的COM互操作、通用方差)和动态的巨大特性打字。

我已经为C 2和C 3准备了一份"吹牛指南",但恐怕我还没有为C 4做同样的工作。


C 2:msdn,维基百科

C 3:msdn、wikipedia、stackoverflow

C 4:msdn、wikipedia、stackoverflow


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


  • C 3:

Implicitly typed local variables
Anonymous types
Extension methods
Object and collection initializers
Lambda expressions
Query expressions
Expression Trees

  • C 4