El operador condicional ?:, conocido como operador ternario, evalúa una expresión booleana y devuelve el resultado de evaluar una de dos expresiones.
Básicamente permite escribir instrucciones tipo if de manera más concisa y legible. Supongamos que tenemos una instrucción como la siguiente:
if (condicion) {
expresion1
} else {
expresion2
}
Usando el operador ternario podemos hacer exactamente lo mismo escribiendo la instrucción de esta forma:
(condicion) ? expresion1 : expresion2
La sintaxis del operador condicional es la siguiente:
(condicion) ? expresion1 : expresion2
El operador condicional es asociativo a la derecha, es decir, una expresión de la forma:
a ? b : c ? d : e
se evalúa como
a ? b : (c ? d : e)
Ejemplo:
class Ejemplo
{
static void Main()
{
var a = 0;
var b = 1;
var r = a == b ? "Es igual" : "No es igual";
Console.WriteLine(r);
}
}