Postagens

Mostrando postagens com o rótulo métodos

If mais limpo em C#: ternário, retorno antecipado e pattern matching

Imagem
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) ...

Métodos (funções) em C#: pare de repetir código no seu jogo

Imagem
Resumo rápido Método é um bloco de código com nome que você chama quando precisar. void significa que o método só faz algo e não devolve valor. Parâmetros são os valores que o método recebe entre parênteses. return devolve um resultado para quem chamou. Um bom método faz uma coisa só e tem nome de ação: Curar , CalcularDano . Imagine o seu jogo de sobrevivência com o código de cura escrito em dez lugares diferentes: na erva, no kit médico, no descanso, no checkpoint... Se a regra da cura mudar, você vai ter que achar e corrigir os dez. Uma hora esquece um. Os métodos (também chamados de funções) resolvem isso: você escreve a regra uma vez, dá um nome a ela e chama esse nome onde precisar. Anatomia de um método Todo método tem as mesmas partes: C# static int Curar(int vida, int quantidade) { return vida + quantidade; } Parte No exemplo O que significa modificador static pode ser chamado sem criar um objeto (por enquanto, use sempre) tipo de retorno int o tipo do va...