¿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 ?
Esta pregunta es principalmente para ayudar a aquellos que buscan una respuesta usando un número de versión incorrecto, por ejemplo, C # 3.5 . La esperanza es que cualquiera que no encuentre una respuesta con el número de versión incorrecto encuentre esta pregunta y luego busque nuevamente con el número de versión correcto.
Respuestas:
Historial de versiones de lenguaje C #:
Estas son las versiones de C # conocidas en el momento de escribir esto:
Dispose
enIEnumerator
s que se implementóIDisposable
. Algunas otras características pequeñas.var
), expresiones de consultadynamic
), varianza genérica de delegado e interfaz, más compatibilidad con COM, argumentos con nombre, tipo de datos de tupla y parámetros opcionalesawait
encatch
yfinally
, de extensiónAdd
métodos de inicializadores de colección.out
declaraciones de parámetros , las funciones locales , literales binarios, separadores de dígitos , y devuelve asincrónicos arbitrarias .unmanaged
genérico .ref
reasignación Mejoras inseguras:stackalloc
inicialización,fixed
buffers indexados no anclados,fixed
declaraciones personalizadas . Resolución de sobrecarga mejorada. Variables de expresión en inicializadores y consultas.==
y!=
definido para tuplas. Los campos de respaldo de las propiedades automáticas ahora se pueden orientar por atributos.new
expresiones, objetivo escrito??
y?
), retornos covariantes. Características menores: ordenamiento relajadoref
ypartial
modificadores, verificación nula de parámetros, parámetros de descarte lambda,int
s nativos , atributos en funciones locales, punteros de función, lambdas estáticas, extensiónGetEnumerator
, inicializadores de módulo, extensión parcial.En respuesta a la pregunta del OP:
No existe C # 3.5: la causa de 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, al igual que el CLR, que se encuentra 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 puede denominarse CLR 4.5 ( esta página de MSDN solía referirse a él de esa manera, por ejemplo), pero la
Environment.Version
propiedad aún informa 4.0. xxxA partir del 3 de mayo de 2017, el equipo de lenguaje C # creó un historial de versiones y características de C # en su repositorio de GitHub: características agregadas en las versiones de lenguaje C # . También hay una página que rastrea las características del lenguaje próximas e implementadas recientemente .
fuente
Esto es lo mismo que la mayoría de las respuestas aquí, pero está tabulado para mayor facilidad, y tiene versiones de Visual Studio y .NET para completar.
Nota: el desarrollo .NET es bastante independiente de VS en estos días, no hay correlación entre las versiones de cada uno.
Consulte " Versiones y dependencias de .NET Framework " para obtener más información.
fuente
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 apuntar a .NET Framework 2.0, 3.0 y 3.5. La nomenclatura C # 3.0 describe la versión de la sintaxis de código y las características compatibles de la misma manera que ANSI C89, C90, C99 describe la sintaxis / características de código para C.
Eche un vistazo a Mono y verá que Mono 2.0 (en su mayoría, la versión 2.0 implementada de .NET Framework a partir de las especificaciones de ECMA) admite la sintaxis y las características de C # 3.0.
fuente
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
C # 8.0 con Visual Studio 2019
fuente
VERSIÓN
_____
ESPECIFICACIÓN DE IDIOMA______
MICROSOFT COMPILERC # 1.0 / 1.2 de
____
diciembre de 2001 ? / 2003 ?___________
Enero 2002 ?C # 2.0
_______
Septiembre 2005________________
Noviembre 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
C # 8.0; lanzado con .NET 4.8 2019
fuente
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 primer lanzamiento en 2002. C # se introdujo con .NET Framework 1.0.
La siguiente tabla enumera características importantes introducidas en cada versión de C #.
Y la última versión de C # está disponible en versiones de C # .
1 :
fuente
He resumido la mayoría de las versiones en esta tabla. Las únicas que faltan deberían ser las versiones de ASP.NET Core. También he agregado diferentes versiones de ASP.NET MVC.
Tenga en cuenta que ASP.NET 5 ha sido renombrado como ASP.NET Core 1.0 y ASP.NET MVC 6 ha sido renombrado como ASP.NET Core MVC 1.0.0. Creo que este cambio ocurrió alrededor de enero de 2016.
Incluí la fecha de lanzamiento de ASP.NET 5 RC1 en la tabla, pero aún no he incluido ASP.NET core 1.0 y otras versiones principales, porque no pude encontrar las fechas exactas de lanzamiento. Puede leer más sobre las fechas de lanzamiento de ASP.NET Core aquí: ¿ Cuándo está programado el lanzamiento de ASP.NET Core 1.0 (ASP.NET 5 / vNext)?
fuente
Puedes consultar las últimas versiones de C # aquí
fuente
Comparando los artículos de MSDN "Novedades en el lenguaje y compilador C # 2.0" y " Novedades en Visual C # 2005 ", es posible deducir que "C # major_version.minor_version" se acuña de acuerdo con la numeración de la versión del compilador.
Hay C # 1.2 correspondiente a .NET 1.1 y VS 2003 y también llamado Visual C # .NET 2003 .
Pero más adelante, Microsoft se detuvo para incrementar los números de la versión menor (después del punto) o para tener otros que no sean cero
0
. Aunque debe tenerse en cuenta que C # correspondiente a .NET 3.5 se nombra en msdn.microsoft.com como "Visual C # 2008 Service Pack 1" .Hay dos nombres paralelos: por numeración de versiones principales de .NET / compilador y por numeración de Visual Studio.
C # 2.0 es sinónimo de Visual C # 2005
C # 3.0 corresponde (o, más correctamente, puede apuntar) a:
fuente
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 versión 15.3
C # 7.2 - Visual Studio 2017 versión 15.5
C # 7.3 - Visual Studio 2017 versión 15.7
C # 8.0 - .NET Core 3.0 y Visual Studio 2019 versión 16.3
[fuente]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
fuente
C # 8.0 es la última versión de c #. Solo es compatible con .NET Core 3.xy versiones más recientes. Muchas de las funciones más recientes requieren funciones de biblioteca y tiempo de ejecución introducidas en .NET Core 3.x
La siguiente tabla enumera el marco de destino con la versión y su versión predeterminada de C #.
Fuente: versiones en lenguaje C #
fuente