El operador ternario (también conocido como operador condicional) es una herramienta de C# que nos permite realizar evaluaciones condicionales de manera concisa en una sola línea de código.
Es una forma abreviada de expresar una instrucción if-else
en situaciones donde se desea asignar un valor basado en una condición específica.
Si quieres aprender más sobre el Operador Ternario
consulta el Curso de Introducción a la Programación leer más
El operador ternario, toma tres operandos. Su sintaxis básica es la siguiente:
condicion ? expresion_verdadera : expresion_falsa
Condición
: Una expresión booleana que se evalúa como verdadera o falsa.Expresión Verdadera
: El valor que se asigna si la condición es verdadera.Expresión Falsa
: El valor que se asigna si la condición es falsa.
El operador ternario devuelve el valor de la expresión verdadera si la condición es verdadera, de lo contrario, devuelve el valor de la expresión falsa.
Ejemplo Básico
Supongamos que queremos determinar si un número es par o impar y almacenar el resultado en una variable llamada “resultado”. Podríamos escribir el código de la siguiente manera:
int numero = 10;
string resultado;
if (numero % 2 == 0)
{
resultado = "par";
}
else
{
resultado = "impar";
}
Sin embargo, utilizando un condicional ternario, podemos simplificar este código en forma más compacta.
int numero = 10;
string resultado = (numero % 2 == 0) ? "par" : "impar";
Como se puede observar, el condicional ternario nos permite asignar directamente el resultado de la evaluación a la variable “resultado” de manera más concisa y legible.
Anidamiento
El operador ternario se puede anidar para realizar evaluaciones más complejas. Por ejemplo,
int numero = 10;
string resultado = (numero > 0) ? "positivo" :
(numero < 0) ? "negativo" :
"cero";
Console.WriteLine($"El número es {resultado}");
En este ejemplo, se asigna “positivo” si el número es mayor que 0, “negativo” si es menor que 0 y “cero” si es igual a 0.
Muy importante, usar solo el anidamiento cuando quede muy claro el propósito y el funcionamiento. Si veis que perjudica la legibilidad, emplear otra opción.
Ejemplos prácticos
Comparar dos números y determinar el mayor
Supongamos que tenemos dos variables, “a” y “b”, que representan dos números enteros, y queremos determinar cuál de los dos es mayor. Podríamos escribir el código de la siguiente manera:
int a = 5;
int b = 8;
int mayor;
if (a > b)
{
mayor = a;
}
else
{
mayor = b;
}
Con el condicional ternario, podemos reducir este código a una sola línea:
int a = 5;
int b = 8;
int mayor = (a > b) ? a : b;
Nuevamente, el condicional ternario nos permite realizar la evaluación y asignación en una sola línea, simplificando nuestro código y haciéndolo más fácil de leer.
Asignación de valores
El operador ternario es útil cuando se necesita asignar un valor basado en una condición simple en una sola línea de código.
int edad = 20;
string categoria = (edad >= 18) ? "adulto" : "menor de edad";
Console.WriteLine($"La persona es {categoria}");
Este ejemplo asigna la cadena “adulto” a la variable categoria
si la edad
es mayor o igual a 18; de lo contrario, asigna la cadena “menor de edad”.
Valor de retorno en métodos
El operador ternario también se puede utilizar para determinar el valor de retorno de un método basado en una condición.
public string ObtenerSaludo(bool esFormal)
{
return esFormal ? "Buenos días, señor(a)" : "Hola";
}
Este método ObtenerSaludo
devuelve “Buenos días, señor(a)” si el parámetro esFormal
es verdadero; de lo contrario, devuelve “Hola”.