C#的正确版本号是什么?什么时候出来的?为什么我找不到有关C#3.5的任何答案?

这个问题主要是为了帮助那些使用错误版本号(例如C#3.5)搜索答案的人。希望任何没有找到错误版本号答案的人都能找到这个问题,然后用正确的版本号再次搜索。


当前回答

Version     .NET Framework     Visual Studio     Important Features

C#1.0.NET Framework 1.0/1.1 Visual Studio.NET 2002

基本功能

C#2.0.NET Framework 2.0 Visual Studio 2005

泛型分部工程类型匿名方法遍历器可为空的类型私有setter(财产)方法组转换(委托)协方差和反方差静态类

C#3.0.NET Framework 3.0\3.5 Visual Studio 2008

隐式类型的局部变量对象和集合初始化器自动实现的财产匿名类型扩展方法查询表达式Lambda表达式表达式树分部方法

C#4.0.NET Framework 4.0 Visual Studio 2010

动态绑定(后期绑定)命名参数和可选参数通用协变量和反变量嵌入式互操作类型

C#5.0.NET Framework 4.5 Visual Studio 2012/2013

异步功能呼叫者信息

C#6.0.NET Framework 4.6 Visual Studio 2013/2015

表达式实体方法自动属性初始值设定项表达式名称主构造函数在挡块中等待异常筛选器字符串插值

C#7.0.NET Core 2.0 Visual Studio 2017

输出变量多元组丢弃图案匹配本地功能通用异步返回类型数字文字语法改进

C#8.0.NET Core 3.0 Visual Studio 2019

只读成员默认接口方法图案匹配增强功能:切换表达式属性模式褶皱图案位置模式使用声明静态局部函数一次性引用结构可为空的引用类型异步流异步一次性指数和范围空合并赋值未管理的构造类型嵌套表达式中的Stacklalloc增强内插逐字字符串

其他回答

您可以在此处查看最新的C#版本

比较MSDN文章“C#2.0语言和编译器中的新增功能”和“Visual C#2005中的新增”,可以推断出“C#major_version.minor_version”是根据编译器的版本编号创建的。

有与.NET 1.1和VS 2003相对应的C#1.2,也称为Visual C#.NET 2003。

但在进一步的研究中,微软停止了增加次要版本(在点之后)的数字,或者让它们不是零,0。尽管应该注意,与.NET 3.5对应的C#在msdn.microsoft.com中被命名为“Visual C#2008 Service Pack 1”。

有两种并行命名:按.NET/编译器主要版本编号和Visual Studio编号。

C#2.0是Visual C#2005的同义词

C#3.0对应(或者更准确地说,可以针对):

.NET 2.0<==>Visual C#2005.NET 3.0<==>Visual C#2008.NET 3.5<==>Visual C#2008 Service Pack 1

Visual Studio.NET中的C#1.0Visual Studio 2005中的C#2.0Visual Studio 2008中的C#3.0Visual Studio 2010中的C#4.0C#5.0与Visual Studio 2012Visual Studio 2015中的C#6.0C#7.0与Visual Studio 2017C#8.0与Visual Studio 2019C#9.0与Visual Studio 2019

预览:C#11.0.NET Core 7.0 Visual Studio 2022更新1

阅读更多信息

允许在插值字符串的“孔”中使用换行符列出模式参数空值检查与可为空的引用类型的交互泛型属性字段关键字接口中的静态摘要或模式下的声明记录和初始化受歧视的工会T的参数范围语句作为表达式表达式树类型系统扩展

这与这里的大多数答案相同,但为了方便起见,将其制成表格,并且它有Visual Studio和.NET版本以确保完整性。

C# version VS version .NET version CLR version Release date
1.0 2002 1.0 1.0 Feb 2002
1.2 2003 1.1 1.1 Apr 2003
2.0 2005 2.0 2.0 Nov 2005
3.0 2.0 Nov 2006
3.0 2008 3.5 2.0 Nov 2007
4.0 2010 4.0 4 Apr 2010
5.0 2012 4.5 4 Aug 2012
2013 4.5.1 4 Oct 2013
4.5.2 4 May 2014
6.0 2015 4.6 4 Jul 2015
4.6.1 4 Nov 2015
4.6.2 4 Aug 2016
7.0 2017 Mar 2017
4.7 4 May 2017
7.1 2017 (v15.3) Aug 2017
4.7.1 4 Oct 2017
7.2 2017 (v15.5) Dec 2017
4.7.2 4 Apr 2018
7.3 2017 (v15.7) May 2018
8.0 2019 4.8 4 Apr 2019
4.8.1 4 Aug 2022

.NET Core之后的版本

C# version VS version .NET version Release date End of Support
2015 Update 3 .NET Core 1.0 Jun 2016 Jun 2019
.NET Core 1.1 Nov 2016 Jun 2019
7.0 2017 Mar 2017
7.1 2017 (v15.3) .NET Core 2.0 Aug 2017 Oct 2018
7.3 2017 (v15.7) .NET Core 2.1 May 2018 Aug 2021
.NET Core 2.2 Dec 2018 Dec 2019
8.0 2019 Apr 2019
2019 (v16.3) .NET Core 3.0 Sep 2019 Mar 2020
2019 (v16.4) .NET Core 3.1 Dec 2019 Dec 2022
9.0 2019 (v16.8) .NET 5 Nov 2020 May 2022
10.0 2022 .NET 6 Nov 2021 Nov 2024
11.0 2022 (17.4) .NET 7 Nov 2022 May 2024
.NET 8 Nov 2023 Nov 2026

*-.NET 5.0不是.NET framework的更新版本,而是.NET Core 3。从.NET 5.0开始,没有更新版本的.NET完整框架。

**-.NET Core没有单独的CLR(CoreCLR)版本。无论.NET Core版本是什么,都是CoreCLR版本。所以不提它。


注意:.NET在很大程度上独立于VS和编译器版本,每个版本之间没有相关性。以上列表并不意味着某些版本的.NET与某些C#或VS版本绑定。这只是按照发布的时间顺序(VS/C#和.NET)编译的。有些发布恰好在一起,因此它们位于同一行。有关详细信息,请参阅“.NET Framework版本和依赖项”和“.NET发布节奏”。