了解 C# 版本號和 .NET 版本號之間的關係。
| C# 版本 | .NET 版本 | 發布日期 | 特性 |
| C# 1.0 | .NET Framework 1.0 | 2002-02-13 | 類別、結構、介面、事件、屬性、委派、運算子和運算式、陳述式、屬性 |
|
C# 1.1
|
.NET Framework 1.1 | 2003-04-24 |
APM(非同步程式設計模型) |
| C# 2.0 | .NET Framework 2.0 | 2005-11-07 | 泛型、部分類型、匿名方法、可為 Null 的實值型別、反覆運算器、共變數和反變數 |
| C# 3.0 | .NET Framework 3.0 | 2007-11-06 | 隱含類型 |
| .NET Framework 3.5 | 2007-11-19 |
自動實作的屬性、匿名型別、查詢運算式、Lambda 運算式、運算式樹狀架構、擴充方法、隱含 型別區域變數、部分方法、物件和集合初始化運算式 |
|
| C# 4.0 | .NET Framework 4.0 | 2012-04-12 |
動態繫結、具名和選擇性引數、泛型中的協變(covariant)和(contravariant)、內嵌互操作類 型 |
| C# 5.0 | .NET Framework 4.5 | 2015-08-15 | 非同步和等待(async 和 await)、呼叫端資訊屬性(Caller Information) |
| C# 6.0 | .NET Framework 4.6 | 2016-07-20 | 動態匯入、C# 6.0 中的新增功能 |
| .NET Core 1.0 | 2017-06-27 | ||
| C# 7.0 | .NET Framework 4.6.2 | 2016-08-02 | 元組、C# 7.0 中的新增功能 |
| C# 7.1 | .NET Framework 4.7 | 2017-04-05 | |
| .NET Core 2.0 | 2016-08-14 | .NET Core 2.0 的新增功能 | |
| C# 7.2 | .NET Framework 4.7.1 | 2017-10-17 | |
| C# 7.3 | .NET Framework 4.7.2 | 2018-04-30 | |
| .NET Core 2.1 | 2018-05-30 | .NET Core 2.1 的新增功能 | |
| .NET Core 2.2 | 2018-12-04 | .NET Core 2.2 的新增功能 | |
| C# 8.0 | .NET Framework 4.8 | 2019-04-18 | C# 8.0 中的新增功能 |
| .NET Core 3.0 | 2019-09-23 | .NET Core 3.0 的新增功能 | |
| .NET Core 3.1 | 2019-12-03 | .NET Core 3.1 的新增功能 | |
| C# 9.0 | .NET 5 | 2020-09-04 | C# 9.0 中的新增功能 |
| .NET 5 | 2020-10-13 | .NET 5 的新功能 | |
| C# 10.0 | .NET 6 | 2021-11-09 | 歡迎使用 C# 10、C# 10 中的新增功能 |
| .NET 6 | 2021-11-08 | .NET 6 的新功能 | |
| C# 11.0 | .NET 7 | 2022-11-08 | .NET 7 的新功能 |
最新 C# 編譯器會根據專案的目標 Framework 判斷預設語言版本。但仍可編輯 csproj 檔案來變更此值。
預設選項可確保使用與目標架構相容的最新語言版本,更可確保不會無法使用類型或執行時間行為的語言。選擇比預設值還新的語言版本可能會導致難以診斷編譯時間和執
行時間錯誤。
編譯器根據下列規則決定預設值
| 目標 | 版本 | C# 語言版本預設值 |
|---|---|---|
| .NET | 7.x | C# 11 |
| .NET | 6.x | C# 10 |
| .NET | 5.x | C# 9.0 |
| .NET Core | 3.x | C# 8.0 |
| .NET Core | 2.x | C# 7.3 |
| .NET Standard | 2.1 | C# 8.0 |
| .NET Standard | 2.0 | C# 7.3 |
| .NET Standard | 1.x | C# 7.3 |
| .NET Framework | all | C# 7.3 |
文章標籤
全站熱搜

留言功能已依作者設定調整顯示方式