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

    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)

    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. C/Violeta Parra nº 9 50015
    Zaragoza (España).
    - 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