Temas importantes de C#

La coincidencia de patrones (pattern matching) en C#

En esta lección vas a usar una expresión switch con patrones para comprobar de forma limpia y segura el tipo y el valor de los datos.

Introducción

La coincidencia de patrones (pattern matching) permite comprobar el tipo de un valor, verificar una condición y extraer los datos para usarlos al momento, todo en una sola expresión. Sustituye a la comprobación de tipo seguida de una conversión manual, que es larga y propensa a errores.

La expresión switch de la función Describe comprueba los patrones en orden: null para los datos que faltan, int number when number > 0 para los enteros positivos, string { Length: > 0 } para las cadenas no vacías y _ para todos los demás casos. Con el valor 12 coincide el patrón del entero positivo, y el resultado es positive 12.

Mira cómo funciona

Mueve el control para cambiar el día. El programa salta directamente al case que coincide, o al default si ninguno coincide.

Ejemplo de C# ejecutable

C#
Ejecutar código →
Program.cs
using System;

class Program
{
    static string Describe(object? value) => value switch
    {
        null => "missing",
        int number when number > 0 => $"positive {number}",
        string { Length: > 0 } text => $"text: {text}",
        _ => "other"
    };

    static void Main() => Console.WriteLine(Describe(12));
}
Resultado de la ejecución
positive 12

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

Practica con un reto

Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.

Todos los retos