Pregunta ¿Cuáles son los números de versión correctos para C #?


¿Cuáles son los números de versión correctos para C #? ¿Qué salió cuando? ¿Por qué no puedo encontrar ninguna respuesta sobre C # 3.5?

Esta pregunta es principalmente para ayudar a quienes buscan una respuesta utilizando un número de versión incorrecto, p. C # 3.5. La esperanza es que cualquier persona que no encuentre una respuesta con el número de versión equivocado encontrará esta pregunta y luego buscar de nuevo con el número de versión correcto.


2061


origen


Respuestas:


C # historia de la versión del idioma:

Estos son los versiones de C # conocido en el momento de escribir esto:

En respuesta a la pregunta del OP:

¿Cuáles son los números de versión correctos para C #? ¿Qué salió cuando? ¿Por qué no puedo encontrar respuestas sobre C # 3.5?

No existe tal cosa como C # 3.5. La causa de la confusión aquí es que C # 3.0 está presente en .NET 3.5. Sin embargo, el lenguaje y el marco se versionan de forma independiente, como CLR, que está en la versión 2.0 para .NET 2.0 a 3.5, .NET 4 presenta CLR 4.0, a pesar de los paquetes de servicios. El CLR en .NET 4.5 tiene varias mejoras, pero el control de versiones no está claro: en algunos lugares se lo puede denominar CLR 4.5 (esta página MSDN utilizado para referirse a él de esa manera, por ejemplo), pero el Environment.Version la propiedad todavía informa 4.0.xxx.

Se encuentra disponible información más detallada sobre la relación entre el idioma, el tiempo de ejecución y las versiones de frameworks en el C # en profundidad sitio. Esto incluye información acerca de las características de C # 3.0 que puede utilizar al orientar .NET 2.0. (Si alguien quiere incluir todo el contenido en esta respuesta wiki, puede hacerlo).

A partir del 3 de mayo de 2017, el equipo de C # Language creó una historia de las versiones y características de C # en su repo de github: Características agregadas en las versiones de lenguaje C #. También hay una página que hace un seguimiento de las características del lenguaje nuevas y recientemente implementadas.


2394



El mayor problema al tratar con los números de versión de C # es el hecho de que no está vinculado a una versión de .NET Framework, que parece deberse a las versiones sincronizadas entre Visual Studio y .NET Framework.

La versión de C # está realmente vinculada al compilador, no al marco. Por ejemplo, en Visual Studio 2008 puede escribir C # 3.0 y dirigirse a .NET Framework 2.0, 3.0 y 3.5. La nomenclatura C # 3.0 describe la versión de la sintaxis del código y las características compatibles de la misma manera que ANSI C89, C90, C99 describir la sintaxis / características del código para C.

Echa un vistazo a Mono, y verá que Mono 2.0 (la mayoría implementada la versión 2.0 de .NET Framework a partir de las especificaciones de ECMA) admite la sintaxis y características de C # 3.0.


241



Esta es la misma que la mayoría de las respuestas aquí, pero tabularizada para facilitar, y tiene versiones de Visual Studio y .NET para completar.

╔════════════╦════════════╦══════════════╦═════════════╦══════════════╗
║ 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   ║
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝

Nota: El desarrollo de .NET es bastante independiente de VS en estos días, no hay una correlación entre las versiones de cada uno. Referir: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependenciespara más.


176



  • C # 1.0 con Visual Studio.NET

  • C # 2.0 con Visual Studio 2005

  • C # 3.0 con Visual Studio 2008

  • C # 4.0 con Visual Studio 2010

  • C # 5.0 con Visual Studio 2012

  • C # 6.0 con Visual Studio 2015

  • C # 7.0 con Visual Studio 2017


164



VERSIÓN_____ESPECIFICACIÓN DEL IDIOMA______COMPILADOR MICROSOFT

DO# 1.0/1.2____Diciembre 2001?/ 2003?___________Enero de 2002?

C # 2.0_______Septiembre de 2005________________Noviembre de 2005?

C # 3.0_______Mayo de 2006_____________________Noviembre de 2006?

C # 4.0_______Marzo de 2009 (borrador)______________Abril de 2010?

C # 5.0; lanzado con .NET 4.5 en agosto de 2012

C # 6.0; lanzado con .NET 4.6 2015

C # 7.0; lanzado con .NET 4.7 2017


64



Puede consultar las últimas versiones de C # aquí C# Versions


37



Historial de versiones de C #:

C # es un lenguaje de programación orientado a objetos simple y poderoso desarrollado por Microsoft.

C # ha evolucionado mucho desde su lanzamiento en 2002. C # se introdujo con .NET Framework 1.0.

La siguiente tabla enumera las características importantes introducidas en cada versión de C #.

Enter image description here

Y la última versión de C # está disponible en Versiones de C #.


35