Jakie są prawidłowe numery wersji dla C #? Co wyszło kiedy? Dlaczego nie mogę znaleźć odpowiedzi na temat C # 3.5 ?
To pytanie ma przede wszystkim pomóc tym, którzy szukają odpowiedzi przy użyciu nieprawidłowego numeru wersji, np. C # 3.5 . Mamy nadzieję, że każdy, kto nie znajdzie odpowiedzi z niewłaściwym numerem wersji, znajdzie to pytanie, a następnie ponownie przeszuka właściwy numer wersji.
Odpowiedzi:
Historia wersji języka C #:
Są to wersje C # znane w chwili pisania tego tekstu:
Dispose
naIEnumerator
s których realizowaneIDisposable
. Kilka innych małych funkcji.var
), wyrażenia zapytańdynamic
), ogólna wariancja delegowania i interfejsu, większa obsługa modelu COM, nazwane argumenty, typ danych krotki i parametry opcjonalneawait
wcatch
ifinally
, rozbudowaAdd
metod w inicjalizatorów zbiórki.out
, funkcje lokalne , literały binarne, separatory cyfr i dowolne zwroty asynchroniczne .unmanaged
ogólne ograniczenia typów .ref
zmiana przydziału. Niebezpieczne ulepszenia:stackalloc
inicjalizacja, odpiętefixed
bufory indeksowane ,fixed
instrukcje niestandardowe . Poprawiona rozdzielczość przeciążania. Zmienne wyrażeń w inicjalizatorach i zapytaniach.==
i!=
zdefiniowane dla krotek. Pola zaplecza Auto-właściwości mogą być teraz kierowane przez atrybuty.new
wyrażenia typu docelowego , cel wpisany??
i?
), zwraca zmienną kowariantną. Drobne cechy: rozluźnij porządkowanieref
ipartial
modyfikatory, sprawdzanie wartości zerowej parametru, parametry odrzucania lambda, natywneint
s, atrybuty funkcji lokalnych, wskaźniki funkcji, statyczne lambdy, rozszerzenieGetEnumerator
, inicjalizatory modułu, rozszerzenie częściowe.W odpowiedzi na pytanie PO:
Nie ma czegoś takiego jak C # 3.5 - przyczyną nieporozumień jest to, że C # 3.0 jest obecny w .NET 3.5. Język i struktura są jednak wersjonowane niezależnie - podobnie jak CLR, który jest w wersji 2.0 dla .NET 2.0 do 3.5, .NET 4 wprowadzający CLR 4.0, niezależnie od dodatków Service Pack. CLR w .NET 4.5 ma różne ulepszenia, ale wersjonowanie jest niejasne: w niektórych miejscach może być nazywane CLR 4.5 (na przykład ta strona MSDN tak się nazywała ), ale
Environment.Version
właściwość wciąż zgłasza 4.0. xxx.Na dzień 3 maja 2017 r. Zespół językowy C # stworzył historię wersji i funkcji C # w swoim repozytorium GitHub: Funkcje dodane w wersjach językowych C # . Istnieje również strona, która śledzi nadchodzące i ostatnio zaimplementowane funkcje językowe .
źródło
Jest to to samo, co większość odpowiedzi tutaj, ale dla uproszczenia zestawiono je w tabelach, a dla kompletności ma wersje Visual Studio i .NET .
Uwaga: programowanie .NET jest obecnie prawie niezależne od VS, nie ma korelacji między wersjami każdej z nich.
Aby uzyskać więcej informacji, zobacz „ Wersje i zależności platformy .NET Framework ”.
źródło
Największym problemem związanym z numerami wersji C # jest to, że nie jest on powiązany z wersją .NET Framework, co wydaje się być spowodowane zsynchronizowanymi wydaniami między Visual Studio i .NET Framework.
Wersja C # jest faktycznie związana z kompilatorem, a nie z frameworkiem. Na przykład w Visual Studio 2008 można pisać w języku C # 3.0 i kierować na platformy .NET Framework 2.0, 3.0 i 3.5. Nomenklatura C # 3.0 opisuje wersję składni kodu i obsługiwane funkcje w taki sam sposób, jak ANSI C89, C90, C99 opisuje składnię / funkcje kodu dla C.
Spójrz na Mono , a zobaczysz, że Mono 2.0 (głównie zaimplementowana wersja 2.0 .NET Framework ze specyfikacji ECMA) obsługuje składnię i funkcje C # 3.0.
źródło
C # 1.0 z Visual Studio.NET
C # 2.0 z Visual Studio 2005
C # 3.0 z Visual Studio 2008
C # 4.0 z Visual Studio 2010
C # 5.0 z Visual Studio 2012
C # 6.0 z Visual Studio 2015
C # 7.0 z Visual Studio 2017
C # 8.0 z Visual Studio 2019
źródło
_____
SPECYFIKACJA JĘZYKA WERSJI______
MICROSOFT COMPILERC # 1.0 / 1.2
____
grudzień 2001 ? / 2003 ?___________
Styczeń 2002 r ?C # 2.0
_______
wrzesień 2005________________
listopad 2005 ?C # 3.0
_______
maja 2006_____________________
listopada 2006 ?C # 4.0
_______
marzec 2009 (projekt)______________
kwiecień 2010 ?C # 5.0; wydany z .NET 4.5 w sierpniu 2012 r
C # 6.0; wydany z .NET 4.6 2015
C # 7.0; wydany z .NET 4.7 2017
C # 8.0; wydany z .NET 4.8 2019
źródło
Historia wersji C #:
C # to prosty i wydajny obiektowy język programowania opracowany przez Microsoft.
C # ewoluował znacznie od pierwszej wersji w 2002 roku. C # został wprowadzony wraz z .NET Framework 1.0.
Poniższa tabela zawiera listę ważnych funkcji wprowadzonych w każdej wersji C #.
Najnowsza wersja C # jest dostępna w wersjach C # .
1 :
źródło
Podsumowałem większość wersji w tej tabeli. Brakuje tylko wersji ASP.NET Core. Dodałem także różne wersje ASP.NET MVC.
Należy pamiętać, że program ASP.NET 5 został przemianowany na ASP.NET Core 1.0, a program ASP.NET MVC 6 został przemianowany na ASP.NET Core MVC 1.0.0. Myślę, że ta zmiana nastąpiła około stycznia 2016 r.
W tabeli umieściłem datę wydania programu ASP.NET 5 RC1, ale jeszcze nie dołączyłem wersji ASP.NET core 1.0 i innych podstawowych wersji, ponieważ nie mogłem znaleźć dokładnych dat wydania. Więcej informacji na temat dat wydania dotyczących programu ASP.NET Core można znaleźć tutaj: Kiedy planowane jest wydanie programu ASP.NET Core 1.0 (ASP.NET 5 / vNext)?
źródło
Możesz sprawdzić najnowsze wersje C # tutaj
źródło
Porównywanie artykułów MSDN „Co nowego w języku i kompilatorze C # 2.0” i „ Co nowego w Visual C # 2005 ”, można wywnioskować, że „C # major_version.minor_version” jest ukuty zgodnie z numeracją wersji kompilatora.
Istnieje C # 1.2 odpowiadający .NET 1.1 i VS 2003, a także nazwany jako Visual C # .NET 2003 .
Ale dalej Microsoft przestał zwiększać wersję moll (po kropce) numery lub mieć je inna niż zero
0
. Chociaż należy zauważyć, że C # odpowiadający .NET 3.5 jest nazwany w msdn.microsoft.com jako „Visual C # 2008 Service Pack 1” .Istnieją dwie równoległe nazwy: według numeracji wersji .NET / kompilatora i numeracji Visual Studio.
C # 2.0 jest synonimem Visual C # 2005
C # 3.0 odpowiada (lub, bardziej poprawnie, może być celem):
źródło
C # 1.0 - Visual Studio .NET 2002
C # 1.2 - Visual Studio .NET 2003
C # 3 - Visual Studio 2008
C # 4 - Visual Studio 2010
C # 5 - Visual Studio 2012
C # 6 - Visual Studio 2015
C # 7.0 - Visual Studio 2017
C # 7.1 - Visual Studio 2017 wersja 15.3
C # 7.2 - Visual Studio 2017 wersja 15.5
C # 7.3 - Visual Studio 2017 wersja 15.7
C # 8.0 - .NET Core 3.0 i Visual Studio 2019 wersja 16.3
[źródło]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
źródło
C # 8.0 to najnowsza wersja c #. Jest obsługiwana tylko w .NET Core 3.x i nowszych wersjach. Wiele najnowszych funkcji wymaga funkcji biblioteki i środowiska wykonawczego wprowadzonych w .NET Core 3.x
W poniższej tabeli wymieniono docelową strukturę wraz z wersją i ich domyślną wersją C #.
Źródło - wersja językowa C #
źródło