CSharp Cheat sheet

Tu guía rápida para programar en C#

Pattern Matching en C#

Pattern Matching en C# permite comprobar tipos, estructuras y condiciones de objetos de forma más expresiva y concisa. Introducido en C# 7 y ampliado en versiones posteriores, simplifica el código de validación y casting evitando errores y haciendo el flujo más claro.

Pattern Matching con is

Puedes comprobar el tipo y hacer un cast seguro en una sola instrucción.

object obj = "Hola Mundo";

if (obj is string texto) {
    Console.WriteLine($"Longitud: {texto.Length}");
}
    

Aquí texto solo existe si obj es string.

Switch Expressions

Puedes usar patrones en expresiones switch de forma concisa.

string resultado = obj switch {
    string s => $"Es texto: {s}",
    int n => $"Es entero: {n}",
    _ => "Tipo desconocido"
};

Console.WriteLine(resultado);
    

Permite asignar valores directamente desde el patrón.

Relational y Logical Patterns

Puedes combinar patrones lógicos para condiciones más avanzadas.

int edad = 25;

string categoria = edad switch {
    < 13 => "Niño",
    >= 13 and < 18 => "Adolescente",
    >= 18 => "Adulto",
    _ => "Desconocido"
};

Console.WriteLine(categoria);
    

Facilita la clasificación sin if-else anidados.

Buenas Prácticas

Usa Pattern Matching para reducir el casting manual y el uso excesivo de if-else. Mantén los patrones simples y legibles. Documenta casos complejos para claridad. Combina patrones relacionales y lógicos para reglas claras. Prefiere switch expressions para transformaciones limpias.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs