Operador ternario en C#

🏠 Programación intermedia 📅 09 Dec 2019 ⏱️ 9 min 💾 Código 💬 0
🎬 Modo vídeo disponible — Ver este contenido junto con su curso, estilo Udemy

1 - Qué es el operador ternario

Como sabemos del post de la sentencia de toma de decisiones, C# nos permite tomar decisiones mediante condicionales, if por ejemplo.

C# Incluye un tipo de toma de decisiones especial, llamado operador ternario, el cual se representa con el carácter ? y nos devolverá, siempre un booleano, por lo tanto true o false.

La sintaxis de la sentencia es así:

Expresión booleana ?  sentencia 1 : sentencia 2;

Como puedes observar la sentencia contiene tres partes:

  1. La expresión booleana; La cual nos devolverá verdadero o falso. (antes del simbolo de cerrar la interrogación ?)
  2. Sentencia 1; es la expresión que se va a devolver en caso de que la expresión booleana sea true. (antes de los dos puntos :)
  3. Sentencia 2; Es la expresión que se va a devolver en caso de que la expresión devuelve false;

Por lo tanto podemos ver la expresión ternaria como:

resultado = condicion ? true : false;

 

1.1 - Convertir If en un operador ternario

En este ejemplo veremos el resultado de comprobar si una persona es mayor de 18 años o no con un if normal.

if (mayoriaEdad <= edadActual)
{
    resultado = "El usuario es mayor de edad";
}
else
{
    resultado = "El usuario es menor de edad";
}

Y posteriormente con un operador ternario:

resultado = mayoriaEdad <= edadActual ? "El usuario es mayor de edad" : "El usuario es menor de edad";

Como podemos observar queda todo mucho mas limpio, pero, veamos en detalle como ha sido la transformación:

if to ternary operator

 

2 - Operadores ternarios anidados

Por supuesto cabe destacar que podemos ejecutar operadores ternarios anidados, osea uno dentro de otro. y estos se ejecutan de derecha a izquierda, no de izquierda a derecha.

  • Supongamos el ejemplo que la mayoría de edad son 18
  • La edad para ingerir bebidas alcohólicas son 21
  • Y finalmente la edad para conducir son 25

Por lo tanto tendremos 3 condicionales y un total de 7 opciones en la ecuación. 

int mayoria = 18, votar = 21, conducir = 25, edadactual=25;

resultado = conducir <= edadactual ? "puede conducir y votar" : votar <= edadactual ? 
    "puede votar" : mayoria <=  edadactual ? 
    "es mayor de edad" : "No puede hacer nada";

lo cual lo podemos traducir en lo siguiente a ? b : c ? d : e ? f : g que se evalua como a ? b : (c ? d : (e ? f : g))  

Por lo que si hacemos un pequeño cambio en el código anterior  y cambiamos el orden de la mayoría de edad y conducir

 

resultado = mayoria <= edadactual ? "es mayor de edad" : votar <= edadactual ? 
                "puede votar" : conducir <=  edadactual ? 
                "puede conducir" : "No puede hacer nada";

Como podemos observar comúnmente utilizaremos expresiones ternarias para reemplazar un pequeño if else, y nos ayudara a tener un código más limpio.

Siguiente paso recomendado

🟣 Ruta .NET: De cero a desarrollador profesional

Este artículo forma parte de la fase C# Intermedio. Mira qué viene antes y después.

Continuar con la ruta →

💬 Comentarios

Últimos Posts

Evaluamos GPT-5.6 Sol, Terra y Luna para programar
11 Jul 2026
Evaluación de Fable 5 ¿merece la pena el nuevo modelo de Anthropic?
04 Jul 2026
Análisis del modelo GLM 5.2 para desarrollo
29 Jun 2026

Curso de pago sobre programación con IA

Si, pagaría agusto 85%
Dudas 15%
No, ni de coña 0%

✨ Premium

Contenido exclusivo sin anuncios

Hazte Premium

🏷️ Tags


⚡ Acciones