Где найти спецификацию языка 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.