本系列文章主要整理並介紹 C# 各版本的新增功能。
C#8.0 於 2019年4月 隨 .NET Framework 4.8 與 Visual Studio 2019 一同釋出,但是當前處於預覽狀態。預計在2019年9月正式釋出。
目前提供以下功能可供試用:
- Readonly 成員
- 預設介面成員【*重要,突破性的變革*】請參考:C#8.0 中使用預設介面成員更新介面
- 模式匹配增強功能:Using 宣告
- Switch 表示式
- 屬性模式
- 元組模式
- 位置模式
- 靜態本地函式
- 可處置的 ref 結構
- 可為空引用型別
- 非同步流【*重要*】
- 索引和範圍
具體新增功能請檢視 C#8.0 新增功能
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 隨 VS2017 v15.5 釋出(2017年11月)。自 Visual Studio 2017 版本 15.5 和 .NET Core 2.0 SDK 起,開始隨附 C# 7.2。
具體新增功能請檢視 C#7.2 新增功能
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# 語言新增了許多新功能:具體請檢視 C#7.0 新增功能
具體功能請檢視 C#6.0 新增功能
除了釋出此版本,他們還做了另一件事,雖然這件事本身與傳統的語言功能無關。 他們釋出了 Roslyn 編譯器即服務。 C# 編譯器現在是用 C# 編寫的,你可以使用編譯器作為程式設計工作的一部分。
async
和 await
模型。C# 3.0 版和 Visual Studio 2008 一起釋出於 2007 年下半年,但完整的語言功能是在 .NET Framework 3.5 版中釋出的。 此版本標示著 C# 發展過程中的重大更改。 C# 成為了真正強大的程式語言。
下面列出的功能中大多數似乎都是不可或缺,難以分割的。 它們的組合都是經過巧妙佈局。 我們通常認為 C# 版本的殺手鐗是查詢表示式,也就是語言整合查詢 (LINQ)。LINQ 的構造可以建立在更細微的檢視檢查表示式樹、Lambda 表示式以及匿名型別的基礎上。 不過無論如何 C# 3.0 都提出了革命性的概念。 C# 3.0 開始為 C# 轉變為物件導向/函式式混合語言打下基礎。
微軟於2005年11月釋出了.NET Framework 2.0,同時釋出了Visual Studio 2005,同步對應的C#升級到了2.0版本。
除現有功能以外的其他 C# 2.0 功能:
- 方法組轉換(委託)
- 靜態類
- 委託推斷
隨 Visual Studio 2003 一起提供的 C# 版本 1.2。 它對語言做了一些小改進。 最值得注意的是,從此版本開始,當 IEnumerator 實現 IDisposable 時,foreach
迴圈中生成的程式碼會在 IEnumerator 上呼叫 Dispose。
C# 1.0 的主要功能包括:
C#版本 |
釋出時間 |
.NET 版本 |
VS版本 |
CLR版本 |
C#1.0 |
2002-02-13 |
.NET Framework 1.0 |
VS.NET 2002 |
1.0 |
C#1.1 |
2003-04-24 |
.NET Framework 1.1 |
VS.NET 2003 |
1.1 |
C#2.0 |
2005-11-07 |
.NET Framework 2.0 |
VS2005 |
2.0 |
C#3.0(除Linq) |
2006-11 |
.NET Framework 3.0 |
VS2008 |
2.0 |
C#3.0 |
2007-11-19 |
.NET Framework 3.5 |
VS2008 |
2.0 |
C#4.0 |
2010-4-12 |
.NET Framework 4.0 |
VS2010 |
4 |
C#5.0 |
2012-02-20 |
.NET Framework 4.5 |
VS2012 |
4 |
C#5.0 |
2013-10-17 |
.NET Framework 4.5.1 |
VS2013 |
4 |
C#5.0 |
2014-05-05 |
.NET Framework 4.5.2 |
VS2013 |
4 |
C#6.0 |
2015-07-26 |
.NET Framework 4.6 |
VS2015(v14) |
4 |
C#6.0 |
2015-11-30 |
.NET Framework 4.6.1 |
VS2015(v14) |
4 |
C#7.0 |
2016-08-02 |
.NET Framework 4.6.2 |
VS2017(v15) |
4 |
C#7.1 |
2017-04-05 |
.NET Framework 4.7 |
VS2017(v15.3) |
4 |
C#7.2 |
2017-10-17 |
.NET Framework 4.7.1 |
VS2017(v15.5) |
4 |
C#7.3 |
2018-04-30 |
.NET Framework 4.7.2 |
VS2017(v15.7) |
4 |
C#8.0 |
2019-04-18 |
.NET Framework 4.8 |
VS2019(v16) |
4 |