C# ternário (? :) Operador
C# ternário (? :) Operador
Neste artigo, aprenderemos sobre o operador ternário do C# e como usá-lo para controlar o fluxo do programa.
O operador ternário é um substituto para a instrução if...else. Portanto, antes de prosseguir neste tutorial, passe pela instrução if...else do C# (se ainda não o fez).
A sintaxe do operador ternário é:
Condition ? Expression1 : Expression2;
O operador ternário funciona da seguinte forma:
- Se a expressão indicada por
Conditionétrue, o resultado deExpression1é retornado pelo operador ternário. - Se for
false, o resultado deExpression2é retornado.
Por exemplo, podemos substituir o seguinte código
if (number % 2 == 0)
{
isEven = true;
}
else
{
isEven = false;
}
com
isEven = (number % 2 == 0) ? true : false ;
Por que é chamado de operador ternário?
Este operador usa 3 operando , daí o nome de operador ternário.
Exemplo 1:Operador Ternário C#
using System;
namespace Conditional
{
class Ternary
{
public static void Main(string[] args)
{
int number = 2;
bool isEven;
isEven = (number % 2 == 0) ? true : false ;
Console.WriteLine(isEven);
}
}
}
Ao executarmos o programa, a saída será:
True
No programa acima,
2 é atribuído a uma variável número . Então, o operador ternário é usado para verificar se number é par ou não. Como 2 é par, a expressão (
number % 2 == 0 ) retorna true . Também podemos usar o operador ternário para retornar números, strings e caracteres. Em vez de armazenar o valor de retorno na variável isEven , podemos imprimir diretamente o valor retornado pelo operador ternário como,
Console.WriteLine((number % 2 == 0) ? true : false);
Quando usar o operador ternário?
O operador ternário pode ser usado para substituir várias linhas de código por uma única linha. No entanto, não devemos abusar dele.
Por exemplo, podemos substituir o seguinte if..else if code
if (a > b)
{
result = "a is greater than b";
}
else if (a < b)
{
result = "b is greater than a";
}
else
{
result = "a is equal to b";
}
com uma única linha de código
result = a > b ? "a is greater than b" : a < b ? "b is greater than a" : "a is equal to b";
Como podemos ver, o uso do operador ternário pode diminuir o comprimento do código, mas dificulta o entendimento da lógica do código.
Portanto, é melhor usar apenas o operador ternário para substituir instruções if else simples.
Linguagem C
- Sobrecarga do Operador Python
- Java instanceof Operator
- Manutenção envolvida do operador - funciona?
- Operadores em C++ com Exemplo:O que é, Tipos e Programas
- Sobrecarga do operador C++ com exemplos
- Reparos para o teclado do operador Charmilles
- Sobrecarga de C++ (operador e função)
- Java 9 - Operador Diamante de Classe Interna
- MATLAB - Sintaxe Básica
- C# - Sobrecarga do Operador