Operador Ternário – Estruturas de decisão [C#]

Já vimos o operador ternário no artigo sobre operadores do C#. Mas ele merece um post a parte, pois ele é também uma estrutura de decisão.

 

Introdução

 

A linguagem C# possui um tipo especial de operador de decisão (?:) chamado operador ternário.

Sintaxe

 

var resultado = expressão booleana ? declaração se verdadeiro : declaração se falso;

 

Como podemos ver na sintaxe acima, o operador ternário possui três partes.

 

A primeira parte (antes do ?) é uma expressão condicional que retorna um valor booleano – verdadeiro ou falso.

 

A segunda parte (depois do ? e antes do : ) contém uma declaração que será retornada se a expressão condicional na primeira parte for avaliada como verdadeira.

 

A terceira parte inclui outra declaração que será retornada se a expressão condicional retornar falso.

 

Observação: o operador ternário retorna um valor ou expressão incluída na segunda ou terceira parte. Ele não executa as declarações.

 

Considerando o exemplo abaixo onde a expressão condicional x > y retorna falso, então ele retorna a primeira declaração depois do ?.

 

Exemplo:

 

 

 

O operador ternário por retornar um valor de qualquer tipo. Então é aconselhável armazená-lo em uma variável implícita (var)

 

Por exemplo, ele pode retornar um valor inteiro como mostrado abaixo.

 

Exemplo:

 

 

O operador ternário pode também ser utilizado ao invés da declaração if-else. O exemplo anterior pode ser reescrito utilizando declarações if-else como mostrado abaixo.

 

Exemplo:

 

 

Operador ternário aninhado

 

É possível aninhar operadores ternários se incluirmos uma expressão condicional na segunda parte (após o ?) ou terceira parte (após o 🙂 do operador. Considere o exemplo abaixo.

 

Exemplo:

 

 

O operador ternário é associado a direita. A expressão a ? b : c ? d : e é avaliado como a ? b : (c ? d : e), e não como (a ? b : c) ? d : e.

 

Palavras finais

 

Alguns pontos a serem lembrados:

 

  • Operador ternário: Expressão booleana ? primeira declaração : segunda declaração;
  • Operador ternário retorna um valor, ele não o executa.
  • Pode ser utilizado para substituir uma declaração if-else curta.
  • É permitido aninhar operadores ternários. Eles são avaliados da direita para esquerda.

 

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!