Где найти спецификацию языка C # 6.0? [закрыто]


85

Я знаю, где найти спецификацию языка C # 5, но нигде не могу найти спецификацию языка C # 6.

Где находится спецификация языка C # 6 ?


7
Но попытка найти в Google то, чего не существует (особенно какое-то некорректное ключевое слово, такое как "C #"), может быть крайне неудовлетворительной. Stack Overflow было первым источником, который сказал мне, что такого нет (пока?). Какой другой сайт Stack Exchange вы бы порекомендовали вместо этого для такого рода запросов?
Wormbo

30
Запрос формальной спецификации языка сильно отличается от «запроса книги, инструмента» и т. Д. Существует правило, препятствующее ленивым вопросам. С другой стороны, спецификация языка незаменима для тех, кто хочет создавать, например. анализатор или парсер
Panagiotis Kanavos

25
Голосование за повторное открытие этого вопроса, поскольку это именно то, за чем люди будут приходить в SO, когда ищут ответ (как я только что сделал).
Дэвид Арно

3
@DavidArno согласился, вот почему я здесь сегодня, 2015-10-05 ... даже если окончательная версия спецификации языка C # 6.0 еще не доступна, imho должна быть по крайней мере черновая версия онлайн, которую легко найти. github.com/dotnet/roslyn бесполезен, поскольку он больше касается реализации C # и vb, чем спецификации языка C #. Стандарт ECMA-334 C # Language Specification 4-е издание (июнь 2006 г.) устарел. 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.
Джепп Стиг Нильсен

Ответы:


33

На момент написания (май 2016 г.) Microsoft еще не завершила обновление спецификации для C # 6. А пока я разместил последний текущий проект спецификации C # 6 от Microsoft здесь: 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 теперь только для того, чтобы следующая версия спецификации C # 6 вышла позже после согласования с ECMA).


Есть идеи, где я могу найти подробную информацию по whenключевому слову? Я нашел только кусочки и фрагменты, и это больше касается фильтрации исключений как общей темы, а не подробностей по ключевому слову.
Дэвид Пайн,

32

Для C # 6.0 нет спецификации на том же уровне, что и для предыдущих версий.

Ближе всего к этому примечания по дизайну Roslyn на CodePlex (и продвижение вперед на GitHub).

Вот список возможностей C #:

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

А вот примечания для оператора распространения нуля, например:

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


Поскольку группа разработчиков языка переехала на GitHub, вы можете продолжить следовать фильтру Design Notes в репозитории Roslyn, чтобы увидеть появление C # 7.0:

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


2
Спасибо, Бар. У вас есть канонический источник, в котором говорится, что спецификация не будет выпущена?
Alex Booker

@Petrichor, к сожалению, нет.
i3arnon

1
@ThomasLevesque: хорошо, этот был разработан открыто с учетом отзывов клиентов, и для каждой функции есть отдельные заметки по дизайну.
i3arnon

3
Спецификации @ThomasLevesque появятся после фактической реализации? ...
Филипп

1
@AlexBooker Мне кажется, это канонический источник: twitter.com/MadsTorgersen/status/704434833041158145
i3arnon

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.