首页 文章

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

提问于
浏览
2189

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

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

9 回答

  • 26

    C#语言版本历史:

    这些是在撰写本文时已知的versions of C#

    回应OP的问题:

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

    没有C#3.5这样的东西 - 这里引起混淆的原因是.NET 3.5中存在C#3.0 . 然而,语言和框架是独立版本的 - 就像CLR一样,.NET 2.0到.NET 2.0版本为2.0,.NET 4引入了CLR 4.0,尽管服务包也是如此 . .NET 4.5中的CLR有各种改进,但版本控制还不清楚:在某些地方它可能被称为CLR 4.5(例如,this MSDN page用于指代它),但Environment.Version属性仍然报告4.0.xxx .

    有关语言,运行时和框架版本之间关系的更多详细信息,请访问C# in Depth网站 . 这包括有关在面向.NET 2.0时可以使用哪些C#3.0功能的信息 . (如果有人想将所有内容都纳入此维基答案,欢迎他们参加 . )

    截至2017年5月3日,C#语言团队在其github repo上创建了C#版本和功能的历史记录:Features Added in C# Language Versions . 还有a page that tracks upcoming and recently implemented language features .

  • 2526

    这与大多数答案相同,但是为了方便而制表,并且它具有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   ║
    ║            ║            ║    4.7.2     ║     4       ║   Apr 2018   ║
    ║    7.3     ║ 2017(v15.7)║              ║             ║   May 2018   ║
    ╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝
    

    注意:.NET开发现在几乎与VS无关,每个版本之间没有相关性 . 有关更多信息,请参阅“.NET Framework versions and dependencies” .

  • 39

    比较MSDN文章"What's New in the C# 2.0 Language and Compiler"和“What's New in Visual C# 2005 ", it is possible to deduce that " C#major_version.minor_version”是根据编译器的版本编号创建的 .

    C# 1.2 corresponding to .NET 1.1 and VS 2003,也被命名为Visual C# .NET 2003 .

    但进一步微软停止增加次要版本(点后)数字或让它们不为零, 0 . 虽然应该注意,对应于.NET 3.5的C#在msdn.microsoft.com中命名为"Visual C# 2008 Service Pack 1" .

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

    C# 2.0Visual C# 2005的同义词

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

  • 69

    我已经总结了这个表中的大多数版本 . 唯一缺少的应该是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 Core的发布日期的更多信息:When is ASP.NET Core 1.0 (ASP.NET 5 / vNext) scheduled for release?

  • 264

    使用Visual Studio.NET

    • C# 1.0

    使用Visual Studio 2005

    • C# 2.0

    使用Visual Studio 2008

    • C# 3.0

    使用Visual Studio 2010

    • C# 4.0

    • C# 5.0 使用Visual Studio 2012

    使用Visual Studio 2015

    • C# 6.0

    使用Visual Studio 2017

    • C# 7.0
  • 41

    处理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语法和功能 .

  • 214

    C# Version History:

    C#是Microsoft开发的一种简单而强大的面向对象编程语言 .

    自2002年首次发布以来,C#已经发展很多 . 随着.NET Framework 1.0引入了C# .

    下表列出了每个C#版本中引入的重要功能 .

    最新版本的C#可在C# Versions中找到 .

  • 38

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

  • 175

    VERSION _____ 语言规格 ______ MICROSOFT编译器

    C#1.0 / 1.2 ____ 2001年12月?/ 2003? ___________ 2002年1月?

    C#2.0 _______ September 2005 ________________ 2005年11月?

    C#3.0 _______ May 2006 _____________________ 2006年11月?

    C#4.0 _______ March 2009 (draft) ______________ 2010年4月?

    C#5.0;于2012年8月与.NET 4.5一起发布

    C#6.0;随.NET 4.6 2015发布

    C#7.0;随.NET 4.7 2017发布

相关问题