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 ?


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


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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.