C#各版本新增加功能(2019/07/29)
C#各版本新增加功能(2019/07/29)
C# 8.0
C#8.0 於2019年4月隨.NET Framework 4.8 與Visual Studio 2019 一同發布,但是當前處於預覽狀態。預計在2019年9月正式發布。
目前提供以下功能可供試用:
Readonly 成員
默認接口成員【*重要,突破性的變革*】請參考:C#8.0 中使用默認接口成員更新接口
模式匹配增強功能:Using 聲明
Switch 表達式
屬性模式
元組模式
位置模式
靜態本地函數
可處置的ref 結構
可為空引用類型
異步流【*重要*】
索引和範圍
C# 7.3
C#7.3 隨VS2017 v15.7 發布(2018年5月)。自Visual Studio 2017 版本15.7 和.NET Core 2.1 SDK 起,開始隨附C# 7.3。
具體新增功能請查看C#7.3 新增功能
C# 7.2
C#7.2 隨VS2017 v15.5 發布(2017年11月)。自Visual Studio 2017 版本15.5 和.NET Core 2.0 SDK 起,開始隨附C# 7.2。
具體新增功能請查看C#7.2 新增功能
C# 7.1
C#7.1 隨VS2017 v15.3 發布(2017年8月)。自Visual Studio 2017 版本15.3 和.NET Core 2.0 SDK 起,開始隨附C# 7.1。
具體新增功能請查看C#7.1 新增功能
C# 7.0
C#7.0 於2017年3月隨.NET 4.7 和VS2017 發布。
C# 7.0 向C# 語言添加了許多新功能:具體請查看C#7.0 新增功能
C# 6.0
C#6.0 在2015 年7月隨著.NET Framework 4.6 一同發布,後期發布了.NET Framework 4.6.1,4.6.2。
C# 在3.0 版和5.0 版對面向對象的語言添加了主要的新功能。在6.0 版中,它不再推出主導性的殺手鐧,而是發布了很多使得C# 編程更有效率的小功能。這些功能每一個都很有趣。但從整體來看,可以發現一個有趣的模式。
在此版本中,C# 消除語言樣本,讓代碼更簡潔且更具可讀性。所以對喜歡簡潔代碼的用戶來說,此語言版本非常成功。
具體功能請查看C#6.0 新增功能
除了發布此版本,他們還做了另一件事,雖然這件事本身與傳統的語言功能無關。他們發布了Roslyn 編譯器即服務。C# 編譯器現在是用C# 編寫的,你可以使用編譯器作為編程工作的一部分。
C# 5.0
C#5.0 在2012 年2月隨著.NET Framework 4.5 一同發布,後期發布了.NET Framework 4.5.1,4.5.2。5.0 版是C#語言有針對性的一個版本。
對此版本中所做的幾乎所有工作都歸入另一個突破性語言概念:適用於異步編程的async 和await 模型。
C#5.0 新增功能01 異步編程
C#5.0 新增功能02 調用方信息
C# 4.0
C# 4.0 版和Visual Studio 2010 一起發佈於2010 年4月,對應.NET Framework 4.0。C# 4.0 版很難達到3.0 版的創新水平。
在3.0 版中,C# 已經完全從Java 的陰影中脫穎而出,嶄露頭角。很快成為一種簡潔精煉的語言。此版本引入了以下新功能:
C#4.0 新增功能01 動態綁定(dynamic 類型)
C#4.0 新增功能02 命名實參和可選實參
C#4.0 新增功能03 泛型中的協變和逆變
C#4.0 新增功能04 嵌入的互操作類型
C# 3.0
C# 3.0 版和Visual Studio 2008 一起發佈於2007 年下半年,但完整的語言功能是在.NET Framework 3.5 版中發布的。此版本標示著C# 發展過程中的重大更改。C# 成為了真正強大的編程語言。
下面列出的功能中大多數似乎都是不可或缺,難以分割的。它們的組合都是經過巧妙佈局。我們通常認為C# 版本的殺手鐧是查詢表達式,也就是語言集成查詢(LINQ)。LINQ 的構造可以建立在更細微的視圖檢查表達式樹、Lambda 表達式以及匿名類型的基礎上。不過無論如何C# 3.0 都提出了革命性的概念。C# 3.0 開始為C# 轉變為面向對象/函數式混合語言打下基礎。
C#3.0 新增功能01 自動實現的屬性
C#3.0 新增功能02 匿名類型
C#3.0 新增功能03 隱式類型本地變量
C#3.0 新增功能04 擴展方法
C#3.0 新增功能05 分部方法
C#3.0 新增功能06 對象和集合初始值設定項
C#3.0 新增功能07 查詢表達式
C#3.0 新增功能08 Lambda表達式
C#3.0 新增功能09 LINQ 基礎01 語言集成查詢
C#3.0 新增功能09 LINQ 基礎02 LINQ 查詢簡介
C#3.0 新增功能09 LINQ 基礎03 LINQ 和泛型類型
C#3.0 新增功能09 LINQ 基礎04 基本LINQ 查詢操作
C#3.0 新增功能09 LINQ 基礎05 使用LINQ 進行數據轉換
C#3.0 新增功能09 LINQ 基礎06 LINQ 查詢操作中的類型關係
C#3.0 新增功能09 LINQ 基礎07 LINQ 中的查詢語法和方法語法
C#3.0 新增功能09 LINQ 基礎08 支持LINQ 的C# 功能
C#3.0 新增功能09 LINQ 標準查詢運算符01 概述
C#3.0 新增功能09 LINQ 標準查詢運算符02 查詢表達式語法
C#3.0 新增功能09 LINQ 標準查詢運算符03 按執行方式的分類
C#3.0 新增功能09 LINQ 標準查詢運算符04 運算
C#3.0 新增功能10 表達式樹01 簡介
C#3.0 新增功能10 表達式樹02 說明
C#3.0 新增功能10 表達式樹03 支持表達式樹的框架類型
C#3.0 新增功能10 表達式樹04 執行表達式
C#3.0 新增功能10 表達式樹05 解釋表達式
C#3.0 新增功能10 表達式樹06 生成表達式
C#3.0 新增功能10 表達式樹07 翻譯(轉換)表達式
C# 2.0
微軟於2005年11月發布了.NET Framework 2.0,同時發布了Visual Studio 2005,同步對應的C#升級到了2.0版本。
C#2.0 新增功能01 分部類與分部方法
C#2.0 新增功能02 泛型
C#2.0 新增功能03 匿名方法
C#2.0 新增功能04 可以為null 的類型
C#2.0 新增功能05 迭代器
C#2.0 新增功能06 協變與逆變
C#2.0 新增功能07 getter/setter 單獨可訪問性
除現有功能以外的其他C# 2.0 功能:
方法組轉換(委託)
靜態類
委託推斷
C# 1.2
隨Visual Studio 2003 一起提供的C# 版本1.2。它對語言做了一些小改進。
最值得注意的是,從此版本開始,當IEnumerator 實現IDisposable 時,foreach 循環中生成的代碼會在IEnumerator 上調用Dispose。
C# 1.0
C# 1.0 的主要功能包括:
類
結構
接口
事件
屬性
委託
表達式
語句
特性