Gdzie mogę znaleźć specyfikację języka C # 6.0? [Zamknięte]

84

Wiem, gdzie znaleźć specyfikację języka C # 5, ale nigdzie nie mogę znaleźć specyfikacji języka C # 6.

Gdzie jest specyfikacja języka C # 6 ?

Alex Booker
źródło
6
Ale próba wyszukania w Google czegoś, co nie istnieje (zwłaszcza jakiegoś trudnego do wyszukania słowa kluczowego, takiego jak „C #”) może być bardzo niezadowalające. Stack Overflow było pierwszym miejscem, które powiedziało mi, że czegoś takiego nie ma (jeszcze?). Którą inną witrynę Stack Exchange poleciłbyś zamiast tego w przypadku tego rodzaju żądań?
Wormbo,
29
Pytanie o formalną specyfikację języka bardzo różni się od „prośby o książkę, narzędzie” itp. Istnieje zasada, która ma zniechęcać do leniwych pytań. Z drugiej strony specyfikacja języka jest niezbędna komuś, kto chce stworzyć np. analizator lub parser
Panagiotis Kanavos
25
Głosowanie za ponownym otwarciem tego pytania, ponieważ właśnie po to ludzie będą przychodzić do SO, szukając odpowiedzi (tak jak właśnie zrobiłem).
David Arno
3
@DavidArno zgodził się, dlatego jestem tutaj dzisiaj, 05.10.2015 ... nawet jeśli nie ma jeszcze gotowej specyfikacji języka C # 6.0, imho powinna być przynajmniej wersja robocza, którą można łatwo zlokalizować. github.com/dotnet/roslyn nie jest pomocna, ponieważ bardziej dotyczy implementacji języka C # i VB niż specyfikacji języka C #. Standardowa specyfikacja języka ECMA-334 C # 4. wydanie (czerwiec 2006) jest nieaktualna. Microsoft, potrzebujemy tego!
gerryLowry
4
Po zainstalowaniu programu Visual Studio 2015 byłem również bardzo rozczarowany, gdy odkryłem, że C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC#\Specifications\1033\CSharp Language Specification.docx(gdzie 14.0odnosi się do VS2015) jest tylko kopią starej specyfikacji C # 5, a nie nową specyfikacją odzwierciedlającą „rzeczywistość” VS2015 i C # 6.
Jeppe Stig Nielsen

Odpowiedzi:

33

W chwili pisania tego tekstu (maj 2016 r.) Microsoft nie zakończył jeszcze aktualizacji specyfikacji dla C # 6. W międzyczasie opublikowałem tutaj najnowszą wersję roboczą specyfikacji C # 6 firmy Microsoft: https://github.com/ljw1004/csharpspec/blob/gh-pages/README.md

Bieżąca wersja robocza jest prawie ukończona, zachowaj kilka pozostałych komentarzy do TODO i sprawdzania. (Ta wersja została przekonwertowana na github + markdown, ale zawiera również linki do pobrania wersji specyfikacji DOCX i PDF oraz link do pobrania gramatyki w formacie ANTLR).

Aby uzyskać pełną listę wszystkich zmian specyfikacji od C # 5 do C # 6, zobacz żądanie ściągnięcia: https://github.com/ljw1004/csharpspec/pull/1/files

(Dlaczego Microsoft jeszcze nie wydał oficjalnie specyfikacji C # 6? Z powodu trwających prac nad dostosowaniem do ECMA, co oczywiście wymaga czasu; wydawało się, że wstydem wydawało się wydanie wysiłku na wydanie specyfikacji C # 6 teraz tylko po to, aby kolejna wersja specyfikacji C # 6 pojawiła się później po wyrównaniu z ECMA).

Lucian Wischik
źródło
Masz pomysł, gdzie mogę znaleźć szczegółowe informacje na temat whensłowa kluczowego? Znalazłem tylko fragmenty i bardziej chodzi o filtrowanie wyjątków jako o ogólny temat, a nie o szczegóły dotyczące słowa kluczowego.
David Pine,
32

Nie ma specyfikacji dla języka C # 6,0 na tym samym poziomie, co w poprzednich wersjach.

Najbliższą rzeczą są notatki projektowe dla Roslyn w CodePlex (i dalej w GitHub).

Oto lista funkcji języka C #:

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

A oto uwagi dotyczące operatora propagującego wartość null, na przykład:

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


Ponieważ zespół projektantów języka przeniósł się do GitHub, możesz kontynuować śledzenie filtru Uwagi do projektu w repozytorium Roslyn, aby zobaczyć, jak powstaje C # 7.0:

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

i3arnon
źródło
2
Dziękuję Bar. Czy masz kanoniczne źródło, które mówi, że nie zostanie opublikowana specyfikacja?
Alex Booker
@Petrichor niestety nie.
i3arnon
1
@ThomasLevesque no cóż, ten został zaprojektowany z myślą o opiniach klientów i dla każdej funkcji są oddzielne notatki projektowe.
i3arnon
3
Specyfikacje @ThomasLevesque pojawią się po rzeczywistej implementacji? ...
Philippe
1
@AlexBooker Wydaje mi się, że to kanoniczne źródło: twitter.com/MadsTorgersen/status/704434833041158145
i3arnon