Operador Condicional ?: en C#

0
3913

El operador condicional ?: es una forma abreviada de escribir una sentencia if-else simple. La sintaxis es la siguiente:

Condicion ? Expresion1 : Expresion2;

Que equivaldría a:

if (Condicion)
   Expresion1;
else
   Expresion2;

Para implementarlo, debemos de tener en cuenta lo siguiente:

  1. La Condicion siempre debe de retornar un valor de tipo boolean.
  2. Si la Condicion es true, Expresion1 se evalúa y se convierte en el resultado. Caso contrario Expresion2 se evalúa y se convierte en el resultado.
  3. El tipo de dato de Expresion1 debe ser el mismo que el de Expresion2, caso contrario se debe realizar primero una conversión implícita de un tipo al otro.
  4. Los operadores condicionales anidados siempre son evaluados desde la derecha. La expresión Condicion1 ? Expresion1 : Condicion2 ? Expresion2_1 : Expresion2_2 es equivalente a Condicion1 ? Expresion1 : (Condicion2 ? Expresion2_1 : Expresion2_2).
  5. El operador condicional debe ser usado en sentencias de asignamiento, llamadas, incrementos, decrementos y expresiones de nuevos objetos que pueden ser usados como una sentencia.

Ejemplo

bool var = true;

string resultado = var == true ? "Verdadero" : "Falso";

Console.WriteLine(resultado);

Resultado:

Verdadero

Referencias

Operador ?: (Referencia de C#)