在哪里可以找到C#语言规范6.0?[关闭]


84

我知道在哪里可以找到C#5语言规范,但在任何地方都找不到C#6语言规范。

C#6语言规范在哪里?


6
但是,尝试用Google搜索不存在的内容(尤其是一些不易理解的关键字,例如“ C#”)可能会非常不满意。Stack Overflow是第一个告诉我没有这种事情的地方(还好吗?)。对于此类请求,您会推荐哪个其他Stack Exchange网站?
Wormbo 2015年

29
要求语言的正式规范与“要求书籍,工具”等有很大不同。存在规则是为了阻止懒惰的问题。另一方面,语言规范对于想要创建例如的人来说是必不可少的。分析器或解析器
Panagiotis Kanavos 2015年

25
投票重新讨论这个问题,因为这正是人们在寻找答案时会想到的事情(就像我刚才所做的那样)。
David Arno

3
@DavidArno同意,这就是我今天在2015年10月5日到这里的原因……即使尚无定稿的c#6.0语言规范,恕我直言,至少在网上应该有易于查找的草稿版本。 github.com/dotnet/roslyn没有帮助,因为它更多地是关于实现c#和vb而不是c#语言规范。 标准ECMA-334 C#语言规范第4版(2006年6月)已过时。 微软,我们需要这个!
gerryLowry,2015年

4
安装Visual Studio 2015年后,我也很失望地发现,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:


33

在撰写本文时(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关键字的详细信息吗?我仅发现了一些零碎的内容,它更多地是关于作为一般主题的异常过滤,而不是关键字的详细信息。
大卫·派恩

32

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的诞生:

https://github.com/dotnet/roslyn/labels/Design%20注意事项


2
谢谢,酒吧。您是否有规范的消息说不会发布规范?
Alex Booker

@Petrichor不幸的是,没有。
i3arnon

1
@ThomasLevesque很好,这个是公开设计的,具有客户反馈,并且每个功能都有单独的设计说明。
i3arnon 2015年

3
实际执行后,@ ThomasLevesque规格会出来吗?...
Philippe

1
@AlexBooker对我来说,这似乎是一个规范的来源:twitter.com/MadsTorgersen/status/704434833041158145
i3arnon

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.