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

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


当前回答

处理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语法和特性。

其他回答

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

比较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

我在寻找.NET、C#、CLR和Visual Studio版本以及关键语言功能的简明历史。

由于我在一个地方找不到任何包含我所需所有信息的最新表格,我将Microsoft文档中的详细信息合并到了一个简洁的表格中。

这里提供:https://mantinband.github.io/dotnet-shmotnet/

我可能有一些错误或缺少信息,因此请随时打开问题或在此处投稿:https://github.com/mantinband/dotnet-shmotnet

偷偷偷看:

C#8.0是C#的最新版本。它仅在.NET Core 3.x和更高版本上受支持。许多最新功能都需要.NETCore3.x中引入的库和运行时功能。

下表列出了具有版本的目标框架及其默认C#版本。

源代码-C#语言版本控制

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

阅读更多信息

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