Informática

C# 7, mejoras y novedades

27 diciembre, 2017
C7-programacion

Ya tenemos disponible la versión 7 de C#, como vemos es el lenguaje .net que más evoluciona, mientras el resto de lenguajes están estancados, C# no deja de evolucionar.

“Si trabajas con .Net, C# es tu lenguaje”.

Dicho esto, como opinión personal compartida por muchos y discutida por otros, no me voy a meter en las virtudes de este leguaje, en este post me voy a limitar a indicar las mejoras que han añadido en esta versión 7. Algunas muy útiles, otras no tanto, pero de todas debemos estar informados.

 .Net, C#: Tuplas

¿Pero qué es eso de tuplas? En muchos casos he tenido que hacer una función en la que tengo que devolver dos datos (o tres, o cuatro, …), para resolver esto tenemos varias opciones con las versiones anteriores:

  •  Parámetros de salida
    Definiremos una función de este tipo por ejemplo:
    public void DameDatos(out int data1, out int data2, …)
    Es una posible opción, pero no muy válida (luego veremos otra ventaja de c# 7 respecto a los valores de salida en los métodos)
  • Definir una clase
    Podemos definir una clase de salida y quedaría algo así:
    public Data DameDatos()

Donde luego definiremos la clase Data:

public class Data
{
public int Data1 { get; set; }
public int Data2 { get; set; }

}

  • Definir tupla de salida
    Por último esto lo podríamos resolver de esta forma:
    public Tuple<int, int, …> DameDatos()

Donde este método retorna dos valores enteros (3, o los que queramos)

  • Solución con C# 7
    public (int data1, int data2, …) DameDatos()

Como podemos observar, estamos creando una tupla en tiempo de diseño automáticamente, además le estamos dando nombre a esas variables de la tupla, otra ventaja más al de una tupla convencional que luego para acceder a sus datos hay que hacerlos de la forma Object.Item1, Object.Item2.

.Net, C#: Parámetros de salida

Tal y como he comentado en la mejora anterior respecto a los parámetros de salida, C# 7 nos proporciona de otra mejora para agilizar el código

En las versiones anteriores para definir y usar un método con variables de salida, teníamos la obligación de primero declararlas y luego usarlas, como este ejemplo:

  • Teniendo el método anterior:
    public void DameDatos(out int data1, out int data2, …)
  • Para usar esta function debemos hacer esto:
    int data1, data2;

DameDatos(out data1, out data2);

  • Sin embargo con esta nueva versión podemos hacerlo todo de un solo paso a la hora de ejecutar:

DameDatos(out decimal data1, out decimal data2);

Y luego hacer uso sin problema de las variables creadas data1 y data2

Tenemos varias novedades más que veremos más adelante en próximos post, estas yo creo que son las que más valor añadido me están aportando, a medida que vaya probando nuevas funcionalidades las iré escribiendo.

No obstante en esta web tenemos las novedades indicadas: https://msdn.microsoft.com

Puedes compartir este artículo en:
    Deja un comentario

    Información básica acerca de cómo protegemos tus datos conforme al Reglamento General de Protección de Datos (Reglamento UE 2016/679) y en la Ley Orgánica 3/2018, de 5 de diciembre, de Protección de Datos Personales y garantía de los derechos digitales

    De conformidad con lo establecido en el Reglamento General de Protección de Datos, te informamos de:

    - Quien es el responsable del tratamiento: SEAS, Estudios Superiores Abiertos S.A.U con NIF A-50973098, dirección en C/ Violeta Parra nº 9 – 50015 Zaragoza y teléfono 976.700.660.

    - Cuál es el fin del tratamiento: Gestión y control de los comentarios del blog de SEAS. 

    - En que basamos la legitimación: En tu consentimiento.

    - La comunicación de los datos: No se comunicarán tus datos a terceros.

    - Los criterios de conservación de los datos: Se conservarán mientras exista interés mutuo para mantener el fin del tratamiento o por obligación legal. Cuando dejen de ser necesarios, procederemos a su destrucción.

    - Los derechos que te asisten: (i) Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al tratamiento, (ii) derecho a retirar el consentimiento en cualquier momento y (iii) derecho a presentar una reclamación ante la autoridad de control (AEPD).

    - Los datos de contacto para ejercer tus derechos: SEAS, Estudios Superiores Abiertos S.A.U. C/ Violeta Parra nº 9 –
    50015 Zaragoza (España) o través de correo electrónico a lopd@estudiosabiertos.com

    - También puedes ponerte en contacto con nuestro Delegado de Protección de Datos en dpd@estudiosabiertos.com

    Información adicional: Puedes consultar la información adicional y detallada sobre nuestra política de privacidad