C#的正确版本号是什么?什么时候出来的?为什么我找不到关于C# 3.5的答案?
这个问题主要是为了帮助那些使用错误版本号(例如C# 3.5)搜索答案的人.我们希望,任何未能找到错误版本号答案的人都能找到this个问题,然后用正确的版本号再次搜索.
C#的正确版本号是什么?什么时候出来的?为什么我找不到关于C# 3.5的答案?
这个问题主要是为了帮助那些使用错误版本号(例如C# 3.5)搜索答案的人.我们希望,任何未能找到错误版本号答案的人都能找到this个问题,然后用正确的版本号再次搜索.
以下是 compose 本文时已知的versions of C#条:
IEnumerator
s上调用Dispose
,实现了IDisposable
.其他一些小功能.var
)和查询表达式dynamic
)、委托和接口泛型差异、COM多个支持、命名参数、元组数据类型和可选参数catch
和finally
中的第await
个、集合初始值设定项中的扩展Add
个方法.out
parameter declarations、local functions、binary literals, digit separators和arbitrary async returns.unmanaged
generic type constraints.ref
调任.不安全的改进:stackalloc
个初始化、未固定索引的fixed
个缓冲区、自定义的fixed
条语句.提高了过载分辨率.初始值设定项和查询中的表达式变量.为元组定义了==
和!=
.自动属性的支持字段现在可以按属性设置目标.new
表达式、目标类型??
和?
)以及协变返回.次要特性:放松修饰符的排序、参数空判断、λ丢弃参数、本机int
、本地函数的属性、函数指针、静电lambdas、扩展GetEnumerator
、模块初始化器和扩展部分.using
指令、文件范围的命名空间声明、扩展属性模式、常量插值字符串、解构中的混合赋值和声明、单个方法的异步方法生成器(通过属性),参数的CallerArgumentExpression
属性增强了#line
个杂注.C#的正确版本号是什么?什么时候出来的?为什么我找不到关于C#3.5的答案?
没有C#3.5这样的东西——这里引起混淆的原因是C#3.0存在于.净3.5.然而,该语言和框架的版本是独立的——CLR也是如此,其版本为2.0.NET 2.0至3.5.NET 4引入CLR 4.0,尽管有服务包.CLR进入.NET 4.5有各种改进,但版本控制尚不清楚:在某些地方,它可能被称为CLR 4.5(例如,this MSDN page用来这样称呼它),但Environment.Version
属性仍然报告4.0.xxx.
截至2017年5月3日,C#语言团队在其GitHub存储库中创建了C#版本和功能的历史记录:Features Added in C# Language Versions.还有a page that tracks upcoming and recently implemented language features个.