Operador Condicional - C#

Amanda Carneiro
3 min readMar 30, 2021

Hoje vou falar um pouco sobre o operador ternário ou operador condicional. Esse tipo de operador basicamente faz a validação de uma operação booleana e retorna um resultado caso a operação tenha uma saída verdadeira e outro caso a operação tenha um resultado falso.

A estrutura básica do operador ternário traz uma condição, seguida de um ponto de interrogação (?) — que é a indicação do fim da condição, seguido de uma consequência caso a condição seja verdadeira, dois pontos (:) seguido da consequência alternativa para o caso de a condição ser falsa.

condicional ? consequencia (verdadeiro) : alternativa (falso)

Existe um exemplo comumente usado, que é o cálculo de gorjeta. Para esse caso, se o valor recebido for maior do que 100, a gorjeta vai ser o equivalente a 10% do valor, caso o valor seja menor ou igual a 100 o valor da gorjeta vai ser de 15%. Usando o operador ternário, obtém-se algo parecido com o que segue.

Tá mas o if já faz isso, não?

Sim, um if pode executar a mesma operação, com o mesmo resultado que o operador ternário, a diferença é a estrutura e complexidade do código.

Vamos fazer uma comparação com um exemplo bem simples, mas que deixa clara a funcionalidade do operador condicional.

Usando o operador temos esse código resultante:

Usando uma estrutura com if/else, o código resultante é este:

Para ambas as situações temos a soma de duas variáveis (a e b) com resultado atribuído à uma terceira variável (entrada). A variável booleana(condicional) recebe o valor “true” caso a entrada tenha o valor esperado (2) e recebe o valor “false” caso a entrada não tenha o valor esperado.

Beleza, se os dois códigos fazem a mesma coisa pra que usar o operador ternário?

Usando o operador ternário a validação e atribuição do resultado é feita em uma linha de código, de forma simples e direta. Usando if/else, o resultado final é o mesmo, mas requer uma estrutura mais complexa e mais sujeita a erro. O uso do operador ternário ou operador condicional pode facilitar para que o código gerado seja mais conciso, ou seja, um código reduzido ao essencial.

--

--

Amanda Carneiro

Engenheira de software, apaixonada por tecnologia. Amo arte, amo conhecer lugares novos e viver viajando é o que me motiva todos os dias.