🖇️Pattern Matching
El Pattern Matching en C# es una característica que permite inspeccionar el tipo o las propiedades de un objeto de manera más expresiva y flexible.
El Pattern Matching permite realizar comprobaciones de tipos y extracciones de valores en una sola operación. Es útil para ejecutar código basado en las propiedades de un objeto sin necesidad de múltiples if-else
o switch
statements.
🔹Tipos de Pattern Matching
is
Pattern: Comprueba si un objeto es de un tipo específico y, opcionalmente, asigna ese objeto a una nueva variable si la comprobación es exitosa.
if (obj is int numero)
{
Console.WriteLine($"El número es {numero}.");
}
Switch Pattern: Amplía las capacidades del switch permitiendo comparar tipos, valores y estructuras de datos complejas.
switch (obj)
{
case int i:
Console.WriteLine($"Es un entero: {i}");
break;
case string s when s.Length > 5:
Console.WriteLine($"Es un string largo: {s}");
break;
case null:
Console.WriteLine("Es null");
break;
}
Property Patterns: Permite comprobar propiedades específicas de un objeto en la cláusula case de un switch.
Persona persona = new Persona { Nombre = "Juan", Edad = 30 };
switch (persona)
{
case Persona { Edad: >= 18 }:
Console.WriteLine($"{persona.Nombre} es mayor de edad.");
break;
case Persona { Edad: < 18 }:
Console.WriteLine($"{persona.Nombre} es menor de edad.");
break;
}
Tuple Patterns: Utiliza tuplas para realizar comprobaciones de múltiples valores simultáneamente.
var estado = (forma, color);
switch (estado)
{
case ("cuadrado", "rojo"):
Console.WriteLine("Es un cuadrado rojo.");
break;
case ("círculo", _):
Console.WriteLine("Es un círculo de cualquier color.");
break;
}
Última actualización