ExpertiDict

C# · Essencial · Inglês · Técnico

switch expression

/swɪtʃ ɪkˈsprɛʃən/substantivo

Expressão com => que escolhe um valor entre braços de pattern matching, devolvendo um resultado em vez de executar comandos; o compilador avisa se faltarem casos.

Onde usar

Substitui cadeias de if/else e switch com break em mapeamentos. Sem braço _ para os casos restantes, o compilador avisa, e em runtime um valor não coberto lança SwitchExpressionException.

Em código

string Nota(int n) => n switch {
  >= 90 => "A",
  >= 70 => "B",
  _ => "C"
};
Console.WriteLine(Nota(75)); // B

Exemplos

Replace that if-else chain with a switch expression.

Troque essa cadeia de if-else por uma switch expression.

Add a discard arm or the compiler will warn you.

Adicione um braço de descarte ou o compilador vai avisar.

Cuidado

Não é o switch clássico: não há fall-through, cada braço é uma expressão, e todos precisam produzir um tipo compatível.

Antônimos

switch statement

Veja também

Todos os termos de C#