Де я можу знайти специфікацію мови 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.