[C#] 什么是C#的正确版本号?



Answers

处理C#版本号时遇到的最大问题是它与.NET Framework的版本无关,这似乎是由于Visual Studio和.NET Framework之间的同步版本所致。

C#的版本实际上绑定到编译器,而不是框架。 例如,在Visual Studio 2008中,您可以编写C#3.0并以.NET Framework 2.0,3.0和3.5为目标。 C#3.0命名法以与ANSI C89,C90,C99描述C语言的代码语法相同的方式描述了代码语法的版本和支持的功能。

看看Mono ,你会发现Mono 2.0(主要是ECMA规范中实现的.NET Framework 2.0版本)支持C#3.0语法和功能。

Question

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

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




这与大多数答案是一样的,但为了方便起见,使用了Tabularized,并且为了完整性它有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   ║
║    5.0     ║    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   ║
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝



我已经总结了此表中的大部分版本。 唯一缺少的应该是ASP.NET Core版本。 我还添加了不同版本的ASP.NET MVC。

请注意,ASP.NET 5已重新命名为ASP.NET Core 1.0,ASP.NET MVC 6更名为ASP.NET Core MVC 1.0.0。 我相信这一变化发生在2016年1月左右。

我在表中包含了ASP.NET 5 RC1的发布日期,但是我还没有包含ASP.NET核心1.0和其他核心版本,因为我找不到确切的发布日期。 您可以在这里阅读有关ASP.NET Core的发布日期的更多信息: ASP.NET Core 1.0(ASP.NET 5 / vNext)何时计划发布?




你可以在here查看最新的C#版本




Links