Каковы правильные номера версий для C #? - PullRequest
2317 голосов
/ 29 октября 2008

Каковы правильные номера версий для C #? Что получилось когда? Почему я не могу найти ответы о C # 3.5 ?

Этот вопрос предназначен прежде всего для помощи тем, кто ищет ответ, используя неправильный номер версии, например, C # 3,5 . Надежда состоит в том, что любой, кто не сможет найти ответ с неправильным номером версии, найдет этот вопрос и затем выполнит поиск с правильным номером версии.

Ответы [ 9 ]

2673 голосов
/ 29 октября 2008

C # история версий:

Это версии C # , известные на момент написания этой статьи:

В ответ на вопрос ОП:

Каковы правильные номера версий для C #? Что получилось когда? Почему я не могу найти ответы о C # 3.5?

Нет такой вещи, как C # 3.5 - причина путаницы в том, что C # 3.0 присутствует в .NET 3.5. Тем не менее, язык и инфраструктура работают независимо друг от друга - как и CLR, которая находится в версии 2.0 для .NET 2.0 до 3.5, в .NET 4 вводится CLR 4.0, несмотря на пакеты обновления. CLR в .NET 4.5 имеет различные улучшения, но управление версиями неясно: в некоторых местах его можно назвать CLR 4.5 ( эта страница MSDN используется, например, для ссылки на него), но свойство Environment.Version по-прежнему сообщает 4.0.xxx.

Более подробная информация о взаимосвязи между языковой, рабочей и каркасной версиями доступна на сайте C # in Depth . Сюда входит информация о том, какие функции C # 3.0 можно использовать при нацеливании на .NET 2.0. (Если кто-то хочет внести весь контент в этот вики-ответ, добро пожаловать.)

По состоянию на 3 мая 2017 г. языковая команда C # создала историю версий и функций C # в своем репозитории github: Функции, добавленные в версии языка C # . Также есть страница, которая отслеживает будущие и недавно реализованные языковые функции .

281 голосов
/ 25 ноября 2008

Самой большой проблемой при работе с номерами версий C # является тот факт, что он не привязан к версии .NET Framework, что, по-видимому, связано с синхронизированными выпусками между Visual Studio и .NET Framework.

Версия C # фактически привязана к компилятору, а не к фреймворку. Например, в Visual Studio 2008 вы можете написать C # 3.0 и целевой .NET Framework 2.0, 3.0 и 3.5. Номенклатура C # 3.0 описывает версию синтаксиса кода и поддерживаемые функции так же, как ANSI C89, C90, C99 описывает синтаксис / функции кода для C.

Взгляните на Mono , и вы увидите, что Mono 2.0 (в основном реализованная версия 2.0 .NET Framework из спецификаций ECMA) поддерживает синтаксис и функции C # 3.0.

267 голосов
/ 21 июля 2016

Это то же самое, что и большинство ответов здесь, но для удобства составлено в виде таблицы и имеет полные версии Visual Studio и .NET.

╔════════════╦════════════╦══════════════╦═════════════╦══════════════╗
║ C# version ║ VS version ║ .NET version ║ CLR version ║ Release date ║
╠════════════╬════════════╬══════════════╬═════════════╬══════════════╣
║    1.0     ║    2002    ║    1.0       ║     1.0     ║   Feb 2002   ║
║    1.2     ║    2003    ║    1.1       ║     1.1     ║   Apr 2003   ║
║    2.0     ║    2005    ║    2.0       ║     2.0     ║   Nov 2005   ║
║            ║            ║    3.0       ║     2.0     ║   Nov 2006   ║
║    3.0     ║    2008    ║    3.5       ║     2.0     ║   Nov 2007   ║
║    4.0     ║    2010    ║    4.0       ║     4       ║   Apr 2010   ║
║    5.0     ║    2012    ║    4.5       ║     4       ║   Aug 2012   ║
║    5.0     ║    2013    ║    4.5.1     ║     4       ║   Oct 2013   ║
║            ║            ║    4.5.2     ║     4       ║   May 2014   ║
║    6.0     ║    2015    ║    4.6       ║     4       ║   Jul 2015   ║
║            ║            ║    4.6.1     ║     4       ║   Nov 2015   ║
║            ║            ║    4.6.2     ║     4       ║   Aug 2016   ║
║    7.0     ║    2017    ║              ║             ║   Mar 2017   ║
║            ║            ║    4.7       ║     4       ║   May 2017   ║
║    7.1     ║ 2017(v15.3)║              ║             ║   Aug 2017   ║
║            ║            ║    4.7.1     ║     4       ║   Oct 2017   ║
║    7.2     ║ 2017(v15.5)║              ║             ║   Dec 2017   ║
║            ║            ║    4.7.2     ║     4       ║   Apr 2018   ║
║    7.3     ║ 2017(v15.7)║              ║             ║   May 2018   ║
║    8.0     ║    2019    ║              ║             ║   Apr 2019   ║    
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝

Примечание. В наши дни разработка .NET практически не зависит от VS, корреляции между версиями нет. Обратитесь к " .NET Framework версиям и зависимостям " для получения дополнительной информации.

182 голосов
/ 31 декабря 2010
  • C # 1.0 с Visual Studio.NET

  • C # 2.0 с Visual Studio 2005

  • C # 3.0 с Visual Studio 2008

  • C # 4.0 с Visual Studio 2010

  • C # 5.0 с Visual Studio 2012

  • C # 6,0 с Visual Studio 2015

  • C # 7,0 с Visual Studio 2017

75 голосов
/ 07 мая 2010

ВЕРСИЯ _____ СПЕЦИФИКАЦИЯ ЯЗЫКА ______ MICROSOFT COMPILER

C # 1.0 / 1.2 ____ Декабрь 2001 ? / 2003 ? ___________ Январь 2002 ?

C # 2.0 _______ сентябрь 2005 г. ________________ ноябрь 2005 г. ?

C # 3.0 _______ Май 2006 _____________________ Ноябрь 2006 ?

C # 4.0 _______ март 2009 г. (черновик) ______________ апрель 2010 г. ?

C # 5.0; выпущен с .NET 4.5 в августе 2012 года

C # 6,0; выпущено с .NET 4.6 2015

С # 7,0; выпущено с .NET 4.7 2017

51 голосов
/ 26 января 2016

C # История версий:

C # - простой и мощный объектно-ориентированный язык программирования, разработанный Microsoft.

C # сильно изменился с момента его первого выпуска в 2002 году. C # был представлен в .NET Framework 1.0.

В следующей таблице перечислены важные функции, представленные в каждой версии C #.

Enter image description here

И последняя версия C # доступна в C # Versions .

46 голосов
/ 04 января 2017

Я суммировал большинство версий в этой таблице. Отсутствуют только версии ASP.NET Core. Я также добавил разные версии ASP.NET MVC.

Обратите внимание, что ASP.NET 5 был переименован в ASP.NET Core 1.0, а ASP.NET MVC 6 переименован в ASP.NET Core MVC 1.0.0. Я считаю, что это изменение произошло где-то в январе 2016 года.

Я включил в таблицу дату выпуска ASP.NET 5 RC1, но я еще не включил ASP.NET core 1.0 и другие основные версии, потому что я не смог найти точные даты выпуска. Подробнее о сроках выпуска ASP.NET Core можно прочитать здесь: Когда планируется выпуск ASP.NET Core 1.0 (ASP.NET 5 / vNext)?

Version

43 голосов
/ 15 октября 2014

Вы можете проверить последние версии C # здесь C# Versions

31 голосов

Сравнивая статьи MSDN "Что нового в языке C # 2.0 и компиляторе" и " Что нового в Visual C # 2005 ", можно вывести это "C # major_version". minor_version "придуман согласно нумерации версий компилятора.

Существует C # 1.2, соответствующий .NET 1.1 и VS 2003 , также именуемый Visual C # .NET 2003 .

Но в дальнейшем Microsoft перестала увеличивать младшие версии (после точки) или иметь их, отличные от нуля, 0. Хотя следует отметить, что C #, соответствующий .NET 3.5, назван в msdn.microsoft.com как «Visual C # 2008 с пакетом обновления 1» .

Существует два параллельных наименования: по основной нумерации версий .NET / компилятора и по нумерации Visual Studio.

C # 2.0 является синонимом Visual C # 2005

C # 3.0 соответствует (или, точнее, может нацеливаться):

...