Eric Gunnerson等人发布了一个新版本的C# 2.0 Language Specification,该文档对C#语言规范的最新变化进行了详细解释。这个版本除了对泛型、迭代器、匿名方法和不完全类型的内容进行了更新以外,还介绍了一个新的特征——可空类型(nullable type)。

我大概看了一下可空类型,是这样的语法:

int? i = new int?(3);
i = null; //以前这种值类型不能为空
i = 2;    //可空类型与原有值类型可以相互转换

在VS2005 CTP版本中的C#已经支持这个特征,我还发现这种语法实际上就是自动生成Nullable<T>,比如上面那行声明语句就相当于:

Nullable<int> i = new Nullable<int>(3);

其他的内容还没有仔细看。