If mais limpo em C#: ternário, retorno antecipado e pattern matching
Resumo rápido Este post é para quem já sabe usar if, else e else if e quer escrever condições mais fáceis de ler. Ternário ( ? : ) escolhe entre dois valores numa linha. Retorno antecipado acaba com a escada de if dentro de if. Condições longas ficam melhores com um nome: uma variável bool ou um método. is e a expressão switch com padrões testam faixas e tipos sem repetir a variável. ?? dá um valor padrão quando algo é null . Se você ainda está aprendendo o básico, comece pelo post If, else e else if em C# . Aqui o assunto é outro: o seu if já funciona, mas está difícil de ler. Vamos ver cinco técnicas para deixar as decisões do jogo mais limpas. O problema: a escada de if Abrir a porta do laboratório exige estar vivo, ter o cartão e ter energia no prédio. Escrito de qualquer jeito, vira isto: C# Console.WriteLine(TentarAbrir(80, true, false)); static string TentarAbrir(int vida, bool temCartao, bool temEnergia) { if (vida > 0) { if (temCartao) ...