Quantcast
Viewing all articles
Browse latest Browse all 2721

Una sinfonía en C#: Novedades de C#7

Vamos a ver un resumen de algunas de la novedades que trae C#7.

Variable de salida:

Hasta hoy si queríamos usar una variable de salida (out) por ejemplo en un TryParse, hacíamos así:

int i = 0;
string s = "10";

if(int.TryParse(s, out i)) {
  //hacer algo
}

No está mal, una vez confirmado el if podemos usar el valor en i, con C#7 podemos hacerlo de una manera más resumida

string s = "10";

if(int.TryParse(s, out int i)) {
  //hacer algo
}

Nos ahorramos la declaración de i por fuera del if, sin embargo dentro del if tenemos acceso a i.

Pattern matching

Esta característica es mucho más potente, nos permite hacer varias cosas, vamos a ver una de las que más me llama la atención, usar tipos en los switch

switch(shape)
{
    case Circle c:
        WriteLine($"circle with radius {c.Radius}");
        break;
    case Rectangle s when (s.Length == s.Height):
        WriteLine($"{s.Length} x {s.Height} square");
        break;
    case Rectangle r:
        WriteLine($"{r.Length} x {r.Height} rectangle");
        break;
    default:
        WriteLine("");
        break;
    case null:
        throw new ArgumentNullException(nameof(shape));
}

Como vemos podemos hacer un switch y poner tipos en los case, incluso con condiciones dentro de los mismos, obviamete las condiciones se evalúan solo si el tipo coincide, genial.

Notemos que incluso se evalúa null como un tipo, no nos confundamos a pesar de que el default está antes del null siempre se evalúa defaul en último lugar.

Sin llegar a usar un case podemos hacer otras cosas interesantes como ésta

if ((shape is Rectangle s) && s.Width == s.Length)  

Básicamente evaluamos si shape es del tipo Rectangle y si lo es asignamos el resultado de la igualación de tipos a la variable s, nuevamente, el scope de la variable es el if. Muy bueno.

Y hay más

Hay otras funcionalidades que se agregan a C# y otras que están planificadas, hay una buena lista acá.

Seguramente iremos viendo más en la medida que estén disponibles.

Nos leemos.


Viewing all articles
Browse latest Browse all 2721

Trending Articles


tagalog love Quotes – Tiwala Quotes


Problema Quotes – Pera Quotes


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Quotes About Crush – Tagalog Love Quotes


Patama Quotes : Tagalog Inspirational Quotes


Tropa Quotes


INUMAN QUOTES


Best Love Life Quotes Collection


Vimeo 10.7.0 by Vimeo.com, Inc.


Pokemon para colorear


FORECLOSURE OF REAL ESTATE MORTGAGE


Sapos para colorear


Tagalog Love Quotes – Nagmamahal


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Long Distance Relationship Tagalog Love Quotes


5 Tagalog Relationship Rules


Long distances monthsary message tagalog


Re:Mutton Pies (lleechef)


Vimeo 10.7.1 by Vimeo.com, Inc.


Girasoles para colorear