Download

evolucion de c#

  • Period: to

    C# 1.0

    Microsoft liberó la primera versión de C# con Visual Studio 2002. El uso del código manejado fue introducido en esta versión. C# 1.0 fue el primer lenguaje que el desarrollador cambió para construir aplicaciones .NET.
    Las principales características de C# 1.0 incluían lo siguiente:
    Clases
    Structs
    Interfaces
    Eventos
    Propiedades
    Delegados
    Operadores y expresiones
    Instrucciones
    Atributos
  • Period: to

    c#2.0

    Aquí las cosas empiezan a ponerse interesantes. Echemos un vistazo a algunas de las principales características de C# 2.0, que se publicó en 2005 junto con Visual Studio 2005:
    Genéricos
    Tipos parciales
    Métodos anónimos
    Tipos de valores que aceptan valores NULL
    Iteradores
    Covarianza y contra varianza
    Otras características de C# 2.0 agregaron capacidades a las características existentes:
    Accesibilidad independiente de captador o establecedor
    Conversiones de grupos de métodos (delegados)
  • Period: to

    C#3.0

    Estableció C# como un lenguaje de programación realmente formidable. Echemos un vistazo a algunas de las principales características de esta versión:
    Propiedades implementadas automáticamente
    Tipos anónimos (Guía de programación de C#).
    Expresiones de consulta
    Expresiones lambda
    Árboles de expresión
    Métodos de extensión
    Variables locales con asignación implícita de tipos
    Métodos parciales
    Inicializadores de objeto y colección
  • Period: to

    C# 4.0

    Esta versión tuvo que lidiar con el carácter innovador que había adquirido la versión 3.0. Con la versión 3.0, el lenguaje de C# dejó de estar a la sombra de Java y alcanzó una posición prominente. El lenguaje se estaba convirtiendo rápidamente en algo elegante.
    La siguiente versión introdujo algunas nuevas características interesantes:
    Enlace dinámico
    Argumentos opcionales/con nombre
    Covariante y contravariante de genéricos
    Tipos de interoperabilidad insertados
  • Period: to

    C#5.0

    La versión 5.0 de C#, publicada con Visual Studio 2012, era una versión centrada del lenguaje. Casi todo el trabajo de esa versión se centró en otro concepto de lenguaje innovador: el modelo async y await para la programación asincrónica. Estas son las principales características: Miembros asincrónicos
    Atributos de información del llamador
  • Period: to

    C# 6.0

    se publicaron muchas características menores que aumentaron la productividad de la programación de C#. Estas son algunas: Importaciones estáticas
    Filtros de excepciones
    Inicializadores de propiedades automáticas
    Miembros de cuerpo de expresión
    Propagador de null
    Interpolación de cadenas
    operador nameof
    Entre las otras características nuevas se incluyen estas: Inicializadores de índice
    Await en bloques catch y finally
    Valores predeterminados para las propiedades solo de captador
  • Period: to

    C#7.0

    C# versión 7.0 se comercializó con Visual Studio 2017. Esta versión tiene algunas cosas interesantes y evolutivas en la misma línea que C# 6.0, pero sin el compilador como servicio. Estas son algunas de las nuevas características: Variables out
    Tuplas y deconstrucción
    Coincidencia de patrones
    Funciones locales
    Miembros con forma de expresión expandidos
    Variables locales de tipo ref
    Devoluciones de referencias
  • Period: to

    C#7.1

    tres nuevas características de lenguaje y un nuevo comportamiento del compilador. asyncMain method
    El punto de entrada de una aplicación puede tener el modificador async.
    Expresiones literales default
    Se pueden usar expresiones literales predeterminadas en expresiones de valor predeterminadas cuando el tipo de destino se pueda inferir.
    Nombres de elementos de tupla inferidos
    En muchos casos, los nombres de elementos de tupla se pueden deducir de la inicialización de la tupla.
  • Period: to

    C# 7.2

    C#7.2 agregó varias características de lenguaje pequeñas: Inicializadores en matrices stackalloc.
    Uso de instrucciones fixed con cualquier tipo que admita un patrón.
    Acceso campos fijos sin anclar.
    Reasignación de variables locales ref.
    Declaración de tipos readonly struct para indicar que una estructura es fija y que debería pasarse como parámetro in a los métodos de su miembro.
    y otras mas.
  • Period: to

    C# 7.3

    Las siguientes características nuevas admiten el tema del mejor rendimiento para código seguro: Puede tener acceso a campos fijos sin anclar.
    Puede volver a asignar variables locales ref.
    Puede usar inicializadores en matrices stackalloc.
    Puede usar instrucciones fixed con cualquier tipo que admita un patrón.
    Puede usar restricciones más genéricas.
  • Period: to

    C#8.0

    Miembros de solo lectura
    Métodos de interfaz predeterminados
    Mejoras de coincidencia de patrones:
    Expresiones switch
    Patrones de propiedades
    Patrones de tupla
    Patrones posicionales
    Declaraciones using
    Funciones locales estáticas
    Estructuras ref descartables
    Tipos de referencia que aceptan valores null
    Secuencias asincrónicas
    Índices y rangos
    Asignación de uso combinado de NULL
    Tipos construidos no administrados
    Stackalloc en expresiones anidadas
    Mejora de las cadenas textuales interpoladas
  • Period: to

    C#9.0

    Registros
    Establecedores de solo inicialización
    Instrucciones de nivel superior
    Mejoras de coincidencia de patrones
    Rendimiento e interoperabilidad
    Enteros con tamaño nativos
    Punteros de función
    Supresión de la emisión de la marca localsinit
    Características de ajuste y finalización
    Expresiones new con tipo de destino
    Funciones anónimas static
    Expresiones condicionales con tipo de destino
    Tipos de valor devueltos de covariante
    Compatibilidad con extensiones GetEnumerator para bucles
  • Period: to

    C#10.0

    Structs de registross
    Mejoras de tipos de estruct
    Controladores de cadena interpolada
    Directivas global using
    Declaración de espacios de nombres con ámbito de archivo
    Patrones de propiedades extendido
    Mejoras en expresiones lambda
    Se permiten cadenas interpoladas const
    Lostipos de registro pueden sellar ToString()
    Asignación definitiva mejorada
    Se permite la asignaciónyla declaración en la misma desconstrucción
    Se permite el atrib. AsyncMethodBuilder en los método
    Atrib. CallerArgumentExpression