Де я можу знайти специфікацію мови C # 6.0? [зачинено]


84

Я знаю, де знайти специфікацію мови C # 5, але ніде не можу знайти специфікацію мови C # 6.

Де специфікація мови C # 6 ?


6
Але спроба погуглити щось, що не існує (особливо якесь негуглове ключове слово, таке як "C #") може бути вкрай незадовільною. Переповнення стеку було першим місцем, яке повідомило мені, що такого немає (ще?). Який ще сайт обміну стеками ви б рекомендували замість цього для такого запиту?
Wormbo

29
Запит на офіційну специфікацію мови сильно відрізняється від "прохання про книгу, інструмент" тощо. Правило існує, щоб стримувати ледачі запитання. Специфікація мови, з іншого боку, є необхідною для тих, хто хоче створити, наприклад. аналізатор або аналізатор
Panagiotis Kanavos

25
Голосуючи за те, щоб знову відкрити це питання, оскільки це саме те, заради чого люди будуть звертатися до ТО, шукаючи відповідь (як я щойно зробив).
Девід Арно,

3
@DavidArno погодився, ось чому я сьогодні тут, 05.10.2015 ... навіть якщо ще немає доопрацьованої специфікації мови c # 6.0, imho має бути принаймні чорнова версія в Інтернеті, яку легко знайти. github.com/dotnet/roslyn не є корисним, оскільки мова йде більше про реалізацію c # та vb, ніж про специфікацію мови c #. Стандартне видання ECMA-334 C # Language Specification, четверте видання (червень 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 тут: 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
Дякую, Бар. У вас є канонічне джерело, яке говорить, що специфікація не буде випущена?
Алекс Букер,

@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.