Clasificar datos con coincidencia de patrones en C#
En esta lección vas a clasificar valores de distintos tipos con patrones de tipo, de comparación y de propiedad.
Introducción
Con la coincidencia de patrones, combinas en una misma expresión la comprobación del tipo, la del valor y la extracción de los datos. Este ejercicio construye una función de clasificación que acepta cualquier valor y devuelve una descripción adecuada.
El patrón int and >= 18 coincide con los enteros mayores o iguales que 18. El patrón string { Length: 0 } coincide con la cadena vacía, después de confirmar que el valor es una cadena. El patrón string text coincide con todas las demás cadenas y guarda el valor en la variable text. Como "CSharp" tiene 6 caracteres, el resultado es text(6).
Ejemplo de C# ejecutable
using System;
class Program
{
static string Classify(object? value) => value switch
{
int and >= 18 => "adult age", string { Length: 0 } => "empty text",
string text => $"text({text.Length})", null => "null", _ => "other"
};
static void Main() => Console.WriteLine(Classify("CSharp"));
}
text(6)Practica con el depurador
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.
- Triangle Classification Classify three side lengths as invalid, equilateral, isosceles, or scalene. Fácil