Olá a todos.

Quando encontramos algumas condições para atribuir valores às variáveis, costumamos utilizar o famoso “if”:



static void Main(string[] args)

{

   bool diaMesImpar;

   if ((DateTime.Now.Day % 2) != 0)

   diaMesImpar = true;

}

No caso, temos uma variável para verificar se o dia atual é um dia impar. Tem um IF para fazer essa verificação, que verifica a sobra da divisão do número do dia atual por dois. Usar esses comandos está correto, porém tem uma maneira mais fácil. Vamos utilizar os operadores lógicos ?: para fazer a atribuição de diaMesImpar.



static void Main(string[] args)

{

      bool diaMesImpar = ((DateTime.Now.Day % 2) != 0) ? true : false;

}

 
Vejam que na atribuição colocamos a condição (((DateTime.Now.Day % 2) != 0) para que a variável seja true. Logo depois da condição colocamos o operador ? que seria algo parecido com o “then” de algumas linguagens seguido do valor true, depois vem o operador : que seria como o “else” seguido do valor false. Para ilustrar o funcionamento deste código:

Variável = (condição booleana) ? (valor para condição atendida) : (valor para condição não atendida).

Vejam que com uma linha de código fazemos a mesma coisa que utilizando 3 linhas. Isso deixa o código mais limpo e livre de Ifs desnecessários.

Espero que seja útil.