Каковы правильные номера версий для С#?

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

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

Ответ 1

История версий языка С#:

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

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

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

С# 3.5 не существует - причина путаницы заключается в том, что С# 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.

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

Ответ 2

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

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

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

Ответ 3

Это то же самое, что и большинство ответов здесь, но для удобства составлено в виде таблицы, и для полноты изложения оно имеет версии 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 версии и зависимости " для получения дополнительной информации.

Ответ 4

  • С# 1.0 с Visual Studio.NET

  • С# 2.0 с Visual Studio 2005

  • С# 3.0 с Visual Studio 2008

  • С# 4.0 с Visual Studio 2010

  • С# 5.0 с Visual Studio 2012

  • С# 6.0 с Visual Studio 2015

  • С# 7.0 с Visual Studio 2017

  • С# 8.0 с Visual Studio 2019 (в превью)

Ответ 5

VERSION _____ СПЕЦИФИКАЦИЯ ЯЗЫКА ______ MICROSOFT COMPILLER

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

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

С# 3.0 _______ май 2006 г. _____________________ ноябрь 2006 ?

С# 4.0 _______ Март 2009 (проект) ______________ Апрель 2010 ?

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

С# 6.0; выпущен в .NET 4.6 2015

С# 7.0; выпущен с .NET 4.7 2017

Ответ 6

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

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

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

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

Enter image description here

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

Ответ 7

Я обобщил большинство версий этой таблицы. Единственными недостающими должны быть версии 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

Ответ 8

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

Ответ 9

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

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

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

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

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

С# 3.0 соответствует (или, вернее, может быть целью):

Ответ 11

История версий С# (пересмотренная):

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