Operador condicional

Definição - o que significa Operador condicional?

Um operador condicional em C #, é um operador que leva três operandos (condições a serem verificadas), o valor quando a condição é verdadeira e o valor quando a condição é falsa.

Um operador condicional é representado pelo símbolo '?:'. O primeiro operando (especificado antes de '?:') É a expressão de avaliação (condicional). Deve ser tal que o tipo de expressão avaliada possa ser convertido implicitamente em 'bool' ou que implemente o operador true para evitar erros de compilação. O segundo e o terceiro operandos controlam o tipo de expressão condicional. É mais frequentemente usado na atribuição e não como uma instrução que produz erros de compilação.

Se o valor de retorno do primeiro operando (expressão condicional) for verdadeiro, o segundo operando é avaliado. Caso contrário, o terceiro operando é avaliado. Portanto, o resultado do operador condicional é o resultado da avaliação da expressão considerada para avaliação.

Para uma expressão declarada como x? A: b, o operando a será avaliado se apenas o operando x (a expressão condicional) retornar verdadeiro. Caso contrário, o operando b será avaliado.

Este termo também é conhecido como operador ternário ou inline if (iif).

Definirtec explica o operador condicional

Um operador condicional é o único operador ternário (recebendo três operandos) em C #. Ele se forma como uma alternativa para a construção if-else, que fornece melhor concisão com menos código e melhor legibilidade. Durante a compilação, o compilador C # traduz a expressão ternária em instruções de ramificação, que podem condensar várias instruções if e reduzir o aninhamento no nível do código-fonte. Às vezes, o código gerado para um operador ternário pode melhorar o desempenho reordenando algumas das instruções.

As propriedades de um operador condicional são:

  • É associativo à direita, o que implica que as operações são agrupadas da direita para a esquerda.
  • Ele sempre avalia uma das duas expressões especificadas após o símbolo do operador condicional. Nunca avalia ambos.
  • O primeiro operando deve ser do tipo integral ou ponteiro.
  • O segundo e o terceiro operandos devem ser conversíveis um no outro e não mutuamente conversíveis em algum outro tipo.
  • O tipo de resultado é o tipo comum, que é um valor l, mas apenas se o segundo e o terceiro operandos forem do mesmo tipo e ambos forem valores l.
  • Apenas chamada de atribuição, incremento, decremento e nova expressão de objeto podem ser usados ​​como uma instrução.
  • Quando o resultado de uma avaliação de uma expressão usando o operador ternário é usado em uma instrução de retorno de método, seu tipo deve corresponder ao tipo de retorno do método envolvente para uma compilação bem-sucedida.
  • Quando o resultado não é uma constante, o tipo de expressão condicional é baseado no mais comum dos dois tipos.

Esta definição foi escrita no contexto de C #