C# 8 – switch como expression

C# 8 nos trae muy buenas mejoras en el lenguaje. pero definitivamente una que realmente me gusta mucho es Switch expression.

int intValueForSwitch = 0;
string state = "";

switch (intValueForSwitch)
{
    case 0:
      state = "Zero";
    break;
    case 1:
      state = "One";
    break;
    case 2:
      state = "Two";
    break;
    default:
      state = "No valid number";
    break;
}

El anterior código  muestra un switch con una situación  especial en donde por cada caso estamos asignando un valor a una variable sin ningún procedimiento adicional.

en C# tenemos ahora una manera de simplificar significativamente este código:

//switch as expression
int intValueForSwitch = 0;

var state = (intValueForSwitch) switch
{
    (0) => "Zero",
    (1) => "One",
    (2) => "Two",
     _ => "NO valid number"
};

 

Usando el operador flecha podemos asignar el valor de la variable en cada caso en una linea de código. y finalizando con el guion bajo y la flecha podemos asignar lo que seria el valor por defecto en el que antes usábamos ‘default:’

Puedes probarlo y utilizarlo con Visual 2019!

Revisa el historial de mejoras de C# en el siguiente repositorio: CSharpVersionsDemos