了解 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# 10C# 10 中的新增功能
  .NET 6 2021-11-08 .NET 6 的新功能
C# 11.0 .NET 7 2022-11-08 .NET 7 的新功能

 

 


 

C# 語言版本控制

 

最新 C# 編譯器會根據專案的目標 Framework 判斷預設語言版本。但仍可編輯 csproj 檔案來變更此值。

預設選項可確保使用與目標架構相容的最新語言版本,更可確保不會無法使用類型或執行時間行為的語言。選擇比預設值還新的語言版本可能會導致難以診斷編譯時間和執

行時間錯誤。

 

Visual Studio 平臺相容性頁面。

 

編譯器根據下列規則決定預設值

目標 版本 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
文章標籤
全站熱搜
創作者介紹
創作者 mitblog 的頭像
mitblog

香腸炒章魚

mitblog 發表在 痞客邦 留言(0) 人氣(349)