No C#, a expressão condicional ternária é uma forma concisa e elegante de fazer comparações e retornar valores com base em condições. Ela pode substituir estruturas if-else simples, deixando o código mais limpo e fácil de ler.

O que é a Expressão Condicional Ternária?

A expressão ternária é composta por três partes:

condição ? valor_se_verdadeiro : valor_se_falso;
  • Condição: A expressão booleana que será avaliada.
  • Valor_se_verdadeiro: O valor retornado se a condição for verdadeira.
  • Valor_se_falso: O valor retornado se a condição for falsa.

A vantagem dessa expressão é que ela pode ser usada diretamente em atribuições, retornos de métodos, ou onde quer que um valor seja esperado.

Exemplo Básico

Imagine que você queira verificar se um número é par ou ímpar e retornar uma string correspondente:

int numero = 10;
string resultado = (numero % 2 == 0) ? "Par" : "Ímpar";
Console.WriteLine(resultado); // Saída: Par

Neste exemplo, a condição numero % 2 == 0 verifica se o número é divisível por 2. Se for, a string "Par" é atribuída à variável resultado. Caso contrário, "Ímpar" é atribuída.

Comparando com if-else

O mesmo código poderia ser escrito usando uma estrutura if-else:

int numero = 10;
string resultado;
if (numero % 2 == 0)
{
    resultado = "Par";
}
else
{
    resultado = "Ímpar";
}
Console.WriteLine(resultado); // Saída: Par

Perceba como a expressão condicional ternária é muito mais compacta.

Mais Exemplos

Verificando idade mínima para votar:

int idade = 17;
string podeVotar = (idade >= 18) ? "Pode votar" : "Não pode votar";
Console.WriteLine(podeVotar); // Saída: Não pode votar

    Escolhendo uma mensagem com base em uma variável booleana:

    bool estaAutenticado = false;
    string mensagem = estaAutenticado ? "Bem-vindo de volta!" : "Por favor, faça login.";
    Console.WriteLine(mensagem); // Saída: Por favor, faça login.

    Uso em Métodos

    A expressão ternária também pode ser usada diretamente em métodos que retornam valores. Veja o exemplo de um método que retorna o maior entre dois números:

    public int MaiorNumero(int a, int b)
    {
        return (a > b) ? a : b;
    }

    Aqui, se a for maior que b, o valor de a será retornado. Caso contrário, b será o retorno.

    Vantagens e Cuidados

    Vantagens:

    • Simplicidade: Ideal para condições simples e que não envolvem muitas verificações;

    • Leitura rápida: Deixa o código mais compacto, reduzindo linhas de código;

    • Substitui if-else: Perfeita para substituição de estruturas if-else que atribuem valores a uma variável.

    Cuidados:

    • Legibilidade: Embora a expressão ternária torne o código mais curto, usá-la em condições complexas pode prejudicar a legibilidade;

    • Evite aninhamento: Expressões ternárias aninhadas (ou seja, uma dentro da outra) podem ser difíceis de entender. Exemplo:
    string status = (idade < 13) ? "Criança" : (idade < 18) ? "Adolescente" : "Adulto";

    Embora funcione, esse tipo de uso pode confundir outros desenvolvedores que lerem o código. Nesse caso, um if-else pode ser mais claro.

    A expressão condicional ternária em C# é uma maneira elegante de escrever condições simples, tornando o código mais enxuto e fácil de entender.

    Use ela para substituir if-else quando for apropriado, mas tenha cuidado com condições mais complexas, priorizando sempre a legibilidade do código.

    Aprenda do zero ou aprimore seus conhecimentos em C#. Domine os conceitos de Orientação a Objetos e crie sistemas complexos integrados com banco de dados.

    CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.

    CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:

    CLIQUE AQUI E SAIBA MAIS

    Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
     https://youtube.com/criandobits

    Tags: |

    Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

    Não enviamos spam. Seu e-mail está 100% seguro!

    Sobre o Autor

    Bene Silva Júnior
    Bene Silva Júnior

    Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

    0 Comentários

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *