12/06/21 · 2 min de lectura

Operador ternario en C#

Cómo utilizar el operador ternario para crear condiciones lógicas IF-ELSE simples y abreviadas.

El operador condicional ternario es una forma condensada para una instrucción if…else. En su forma más básica, los operadores condicionales ternarios se usan para decidir entre dos valores basados en alguna expresiones de tipo bool.

La sintaxis sigue el formato:

// expresión bool ? true : false
string message = health > 0 ? "Player is Alive" : "Player is Dead";

El primer parámetro health > 0, es la expresión tipo bool, o la condición que se evalúa como booleana que te gustaría probar. El fin de este parámetro se marca con un signo de interrogación de cierre.

// expresión bool ?
health > 0 ?

El parámetro siguiente “Player is Alive” es el valor que el operador condicional ternario evaluaría si la condición es true o verdadera, esto es seguido por dos puntos.

// expresión bool ? true :
health > 0 ? "Player is Alive" :

El último parámetro “Player is Dead” es el valor que el operador condicional ternario evaluaría si la condición es false o falsa.

// expresión bool ? true : false
health > 0 ? "Player is Alive" : "Player is Dead";

En el ejemplo se usa un operador ternario para determinar si el player está vivo o no.

El operador condicional ternario se puede poner dentro de otro, pero si se usan para expresiones muy largas puede hacer que el código sea voluminoso y difícil de leer.

string message = health > 0 ? "Player is Alive" : health == 0 ? "Player is Barely Alive" : "Player is Dead";

Una regla general a seguir para usar el operador condicional ternario en vez de una sentencia condicional if es si tu código necesita una instrucción simple if…else con una expresión corta en cada caso.

Ventajas del uso del operador condicional ternario

// sentencia condicional if
string message;

if(health > 0 )
{
    message = "Player is Alive";
}
else
{
    message = "Player is Dead";
}

// vs

// operador condicional ternario
string message = health > 0 ? "Player is Alive" : "Player is Dead";

Cómo puedes observar, usando el operador condicional ternario en vez de una sentencia condicional if puedes declarar una variable message evaluar la condición booleana health > 0 y asignar el resultado de la evaluación en una línea de código, siendo esta línea aún legible.

Gist del proyecto

Apoya el contenido de mi blog a través de:

Fuente:

Copiado!