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.