我知道在哪里可以找到C#5语言规范,但在任何地方都找不到C#6语言规范。
C#6语言规范在哪里?
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx
(这里14.0
指的是VS2015)是只是一个副本老C#5规范,而不是一种新的规范反映了VS2015和C#6的“现实”
Answers:
在撰写本文时(2016年5月),Microsoft尚未完成C#6规范的更新。同时,我在此处提出了Microsoft最新的C#6规范草案:https : //github.com/ljw1004/csharpspec/blob/gh-pages/README.md
当前的草稿几乎完成,除了一些剩余的TODO注释和检查。(此版本已转换为github + markdown,但它也具有下载规范的DOCX和PDF版本的链接,以及用于下载ANTLR格式的语法的链接)。
有关从C#5到C#6的所有规范更改的完整列表,请参见拉取请求:https : //github.com/ljw1004/csharpspec/pull/1/files
(为什么Microsoft尚未正式发布C#6规范?由于与ECMA保持一致的工作正在进行中,这当然会花费时间;为发布C#6规范而付出努力似乎很可惜现在只有在与ECMA保持一致之后才能发布C#6规范的后续版本)。
when
关键字的详细信息吗?我仅发现了一些零碎的内容,它更多地是关于作为一般主题的异常过滤,而不是关键字的详细信息。
C#6.0没有以前版本相同的规范。
最接近的是Roslyn在CodePlex上的设计说明(并在GitHub上向前发展)。
这是C#功能的列表:
https://roslyn.codeplex.com/wikipage?title=语言%20Feature%20Status&referringTitle =文档
这是例如null传播运算符的注释:
https://roslyn.codeplex.com/discussions/540883
自从语言设计团队移至GitHub以来,您可以继续在Roslyn存储库上使用“设计说明”过滤器,以查看C#7.0的诞生: