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.
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:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários