Operador ternario
Parte de la sección Fundamentos del Journey de C# de Coddy — lección 28 de 69.
El operador ternario es una sentencia if-else simple de una sola línea. Tiene la siguiente sintaxis:
variable = (condition) ? value_if_true : value_if_false;El operador ternario evalúa la condición. Si es true, asigna value_if_true a la variable; de lo contrario, asigna value_if_false.
Por ejemplo:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";En este ejemplo, dado que age es mayor o igual a 18, a message se le asignará el valor "Adult". Si age fuera menor de 18, a message se le asignaría "Minor".
Puedes anidar operadores ternarios para manejar múltiples condiciones:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Esto comprueba múltiples condiciones en orden. Si score >= 90, grade es "A"; de lo contrario, si score >= 80, grade es "B"; de lo contrario, si score >= 70, grade es "C"; de lo contrario "F".
Nota: Los operadores ternarios anidados pueden ser difíciles de leer. Para condiciones complejas, use sentencias if-else en su lugar.
Desafío
PrincipianteCrea un programa que verifique si un número es positivo, negativo o cero utilizando el operador ternario. El programa debe:
- Tomar un número entero como entrada del usuario.
- Usar el operador ternario para determinar si el número es positivo, negativo o cero. Guarda la cadena
positive,negativeozeroenresult. - Imprimir el resultado en el formato:
"The number is [positive/negative/zero]".
Puedes usar un ternario anidado para resolver este problema.
Hoja de referencia
El operador ternario es una sentencia if-else de una sola línea con la sintaxis:
variable = (condition) ? value_if_true : value_if_false;Evalúa la condición y asigna value_if_true si la condición es true, de lo contrario asigna value_if_false.
Ejemplo:
int age = 20;
string message = (age >= 18) ? "Adult" : "Minor";Operadores ternarios anidados para manejar múltiples condiciones:
int score = 75;
String grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";Esto comprueba múltiples condiciones en orden. Si score >= 90, grade es "A"; de lo contrario, si score >= 80, grade es "B"; de lo contrario, si score >= 70, grade es "C"; de lo contrario "F".
Nota: Los operadores ternarios anidados pueden ser difíciles de leer. Para condiciones complejas, utiliza sentencias if-else en su lugar.
Pruébalo tú mismo
using System;
public class Program {
public static void Main(string[] args) {
int number = int.Parse(Console.ReadLine());
string result = "";
// Escribe tu código debajo
Console.WriteLine("The number is " + result);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticos7Entrada y Salida Básica
Salida BásicaInterpolación de CadenasLectura de EntradaParseoResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores de comparaciónOperadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 33Variables Parte 2
VarConstantesConvenciones de NomenclaturaResumen - Inicializar VariablesConversión de Tipos6Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioResumen - If ElseIf - Else anidados