随着 Visual Studio 2005 的发布,C# 语言已更新为 2.0 版,它支持下列新功能:
-
迭代器
-
迭代器使得规定 foreach 循环将如何循环访问集合的内容变得更加容易。
-
分部类
-
分部类型定义允许将单个类型(比如某个类)拆分为多个文件。Visual Studio 设计器使用此功能将它生成的代码与用户代码分离。
-
可空类型
-
可空类型允许变量包含未定义的值。在使用数据库和其他可能包含未含有具体值的元素的数据结构时,可以使用可空类型。
-
匿名方法
-
现在,可以将代码块作为参数来传递。在本应使用委托的任何地方,都可以使用代码块来取代:不需要定义新的方法。
-
静态类
-
若要声明那些包含不能实例化的静态方法的类,静态类就是一种安全而便利的方式。C# 1.2 版要求将类构造函数定义为私有的,以防止类被实例化。
-
属性访问器可访问性
-
现在可以为属性的 get 和 set 访问器定义不同级别的可访问性。
-
委托中的协变和逆变
-
现在传递给委托的方法在返回类型和参数方面可以具有更大的灵活性。
-
如何:声明、实例化和使用委托
-
方法组转换为声明委托提供了一种更简单的语法。
-
固定大小的缓冲区
-
在不安全的代码块中,现在可以声明包含嵌入数组的固定大小结构。
-
友元程序集
-
程序集可以提供对其他程序集的非公共类型的访问。
-
内联警告控制
-
#pragma 警告指令可用于禁用和启用某些编译器警告。
-
volatile
-
现在可以将 volatile 关键字应用于 IntPtr 和 UIntPtr 。