Expresiones switch en C#
El switch moderno devuelve un valor y coincide patrones, no solo constantes.
var code = 404;
// una expresión switch devuelve un valor; _ es el fallback obligatorio
var message = code switch
{
200 => "ok",
301 or 302 => "redirected",
404 => "not found",
>= 500 => "server error",
_ => $"unhandled {code}",
};
Console.WriteLine(message);
// los patrones también comparan por tipo
object value = 3.5;
var kind = value switch { int n => $"int {n}", double d => $"double {d}",
_ => "something else" };
Console.WriteLine(kind);
Cómo funciona
- Cada brazo es
pattern => value;_atrapa todo lo demás. 301 or 302y>= 500coinciden combinaciones y rangos.- Los patrones de tipo como
int nprueban y vinculan en un solo paso.
Palabras clave y builtins usados aquí
doubleintobjectorswitchvaluevar
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 447
- Tokens
- 78
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 55 segundos.
Paso 2 de 3 en Control de flujo; paso 9 de 29 en Fundamentos del lenguaje.