隨著 Visual Studio 2005 的發布,C# 語言已更新為 2.0 版,它支持下列新功能:
該語言中添加了一些泛型類型,使得程序員能夠實現程度很高的代碼重用,獲得更高的集合類性能。泛型類型只存在 arity 上的不同。也可以將參數強制為特定的類型。有關更多信息,請參見泛型類型參數。
迭代器使得規定 foreach 循環將如何循環訪問集合的內容變得更加容易。
分部類型定義允許將單個類型(比如某個類)拆分為多個文件。Visual Studio 設計器使用此功能將它生成的代碼與用戶代碼分離。
可空類型允許變量包含未定義的值。在使用數據庫和其他可能包含未含有具體值的元素的數據結構時,可以使用可空類型。
現在,可以將代碼塊作為參數來傳遞。在本應使用委托的任何地方,都可以使用代碼塊來取代:不需要定義新的方法。
命名空間別名限定符 (::) 對訪問命名空間成員提供了更多控制。global :: 別名允許訪問可能被代碼中的實體隱藏的根命名空間。
若要聲明那些包含不能實例化的靜態方法的類,靜態類就是一種安全而便利的方式。C# 1.2 版要求將類構造函數定義為私有的,以防止類被實例化。
通過 extern 關鍵字的這種擴展用法引用包含在同一程序集中的同一組件的不同版本。