¡Hola! En este artículo veremos cómo usar la construcción when en C# para filtrar condicionalmente en diferentes contextos.

#1: Uso de when en la construcción catch

La construcción when permite agregar condiciones a los bloques catch, haciendo el manejo de excepciones más flexible.

  • Abre tu proyecto en Visual Studio.
  • Agrega el siguiente código:
try
{
    // Código que puede lanzar una excepción
}
catch (Exception ex) when (ex.Message.Contains("error específico"))
{
    // Manejo de la excepción solo si el mensaje contiene "error específico"
    Console.WriteLine("Error específico manejado.");
}
catch (Exception ex)
{
    // Manejo de todas las demás excepciones
    Console.WriteLine("Ocurrió un error: " + ex.Message);
}

#2: Uso de when en la construcción case

💪
Nota: El uso de when en sentencias switch está disponible a partir de C# 7.0. Asegúrate de que tu proyecto esté usando al menos esa versión del lenguaje.

La construcción when también se puede usar en el operador switch para agregar condiciones a casos individuales.

Agrega el siguiente método switch:

int valor = 10;

switch (valor)
{
    case int n when n > 0 && n < 10:
        Console.WriteLine("El valor está en el rango de 1 a 9.");
        break;
    case int n when n == 10:
        Console.WriteLine("El valor es 10.");
        break;
    default:
        Console.WriteLine("El valor no está en los rangos especificados.");
        break;
}

Uso de when en la construcción if

Aunque when no se usa directamente en la construcción if, se puede combinar con otros operadores condicionales para lograr un efecto similar.

Agrega el siguiente método:

if (valor > 0 && valor < 10)
{
    Console.WriteLine("El valor está en el rango de 1 a 9.");
}
else if (valor == 10)
{
    Console.WriteLine("El valor es 10.");
}
else
{
    Console.WriteLine("El valor no está en los rangos especificados.");
}

Ventajas de usar when

El uso de la construcción when tiene varias ventajas:

  • Legibilidad del código: La construcción when hace que el código sea más legible y comprensible.
  • Flexibilidad: when permite agregar condiciones adicionales a las construcciones existentes.
  • Simplificación de la lógica: El uso de when ayuda a evitar condiciones anidadas complejas.

Conclusión

La construcción when en C# es una herramienta poderosa que permite mejorar la legibilidad y flexibilidad del código. Su uso en bloques catch, operadores switch y otros contextos hace que los programas sean más fáciles de entender y mantener.

Categorizado en:

C,