我该在哪里找到C#语言规范6.0?

85
我知道在哪里可以找到 C# 5 语言规范,但是我无法找到任何关于 C# 6 语言规范的信息。
请问 C# 6 语言规范在哪里?

7
但是,试图在谷歌上搜索不存在的东西(尤其是一些难以搜索的关键词,比如"C#")可能会非常令人不满。Stack Overflow是第一个告诉我这种语言目前还不存在的地方。您可以推荐哪个其他 Stack Exchange 网站来代替进行这种请求? - Wormbo
31
要求一门语言的正式规范与“要求一本书、工具”等完全不同。这个规则存在是为了防止懒惰的提问。另一方面,对于想要创建分析器或解析器等工具的人来说,语言规范是必不可少的。 - Panagiotis Kanavos
25
投票重新开放此问题,因为这正是人们在寻找答案时会来到SO的类型。 - David Arno
3
@DavidArno同意,这就是我今天在这里的原因,2015-10-05... 即使尚未有最终的C# 6.0语言规范可用,我认为至少应该有一个易于查找的草案版本在线上。https://github.com/dotnet/roslyn并不实用,因为它更多地涉及C#和VB的实现而非C#语言规范。 标准ECMA-334 C#语言规范第4版(2006年6月)已经过时了。Microsoft,我们需要这个! - gerryLowry
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“实际情况”的新规范。 - Jeppe Stig Nielsen
显示剩余2条评论
3个回答

33

截至撰写时间(2016年5月),微软尚未完成C#6规范的更新。与此同时,我在这里发布了微软最新的C#6规范草案:https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

这个当前的草案已经快要完成了,只剩下几个待办事项和检查。(这个版本已经被转换成了github+markdown格式,但它也有链接可以下载DOCX和PDF格式的规范,以及一个链接可以下载ANTLR格式的语法)。

如果想了解从C#5到C#6所有规范更改的完整列表,请参阅拉取请求:https://github.com/ljw1004/csharpspec/pull/1/files

(为什么微软还没有正式发布C#6规范?因为正在进行与ECMA的对齐工作,这需要时间;发布C#6规范现在似乎有些浪费力气,之后仍会有与ECMA对齐的C#6规范版本推出)。


你知道在哪里可以找到关于 when 关键字的详细信息吗?我只找到了一些零碎的资料,而且更多是关于异常过滤作为一般主题的内容,而不是关于关键字的详细信息。 - David Pine

32

对于C# 6.0,没有像以前版本那样的规范。

最接近的是CodePlex上Roslyn的设计笔记(并向GitHub迁移)。

以下是C#功能列表:

https://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Documentation

这里有一个空值传播运算符的笔记:

https://roslyn.codeplex.com/discussions/540883


自从语言设计团队转移到GitHub后,您可以继续关注Roslyn存储库上的Design Notes筛选器,以了解C# 7.0的出现:

https://github.com/dotnet/roslyn/labels/Design%20Notes


2
谢谢,Bar。你有一个权威的来源证明不会发布规范吗? - Alex Booker
目前还没有规范,但我相信很快会有的。之前所有版本的C#都有规范,我不认为这个版本会有什么不同。 - Thomas Levesque
1
@ThomasLevesque 嗯,这一个是在与客户反馈的开放式设计下完成的,每个功能都有单独的设计笔记。 - i3arnon
3
@ThomasLevesque:实现完成后规格说明书会出来吗? - Philippe
1
@AlexBooker 这对我来说似乎是一个经典的来源:https://twitter.com/MadsTorgersen/status/704434833041158145 - i3arnon
显示剩余3条评论

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接