2.1.8. Operador condicional o ternario: ?
Curso: Programación en C# (2015), por Nacho Cabanes
2.1.8. Operador condicional: ?
En C#, al igual que en la mayoría de lenguajes que derivan de C, hay otra forma de asignar un valor según se cumpla una condición o no, más compacta pero también más difícil de leer. Es el "operador condicional" ? : (también conocido como "operador ternario"), que se usa
nombreVariable = condicion ? valor1 : valor2;
y equivale a decir "si se cumple la condición, toma el valor valor1; si no, toma el valor valor2". Un ejemplo de cómo podríamos usarlo sería para calcular el mayor de dos números:
numeroMayor = a>b ? a : b;
esto equivale a la siguiente orden "if":
if ( a > b ) numeroMayor = a; else numeroMayor = b;
Al igual que en este ejemplo, podremos usar el operador condicional cuando queramos optar entre dos valores posibles para una variable, dependiendo de si se cumple o no una condición.
Aplicado a un programa sencillo, podría ser
// Ejemplo_02_01_08a.cs // El operador condicional // Introducción a C#, por Nacho Cabanes using System; public class Ejemplo_02_01_08a { public static void Main() { int a, b, mayor; Console.Write("Escriba un número: "); a = Convert.ToInt32(Console.ReadLine()); Console.Write("Escriba otro: "); b = Convert.ToInt32(Console.ReadLine()); mayor = a>b ? a : b; Console.WriteLine("El mayor de los números es {0}.", mayor); } }
Un segundo ejemplo, que sume o reste dos números según la opción que se escoja, sería:
// Ejemplo_02_01_08b.cs // El operador condicional (2) // Introducción a C#, por Nacho Cabanes using System; public class Ejemplo_02_01_08b { public static void Main() { int a, b, operacion, resultado; Console.Write("Escriba un número: "); a = Convert.ToInt32(Console.ReadLine()); Console.Write("Escriba otro: "); b = Convert.ToInt32(Console.ReadLine()); Console.Write("Escriba una operación (1 = resta; otro = suma): "); operacion = Convert.ToInt32(Console.ReadLine()); resultado = operacion == 1 ? a-b : a+b; Console.WriteLine("El resultado es {0}.", resultado); } }
Ejercicios propuestos:
Ejercicio propuesto 2.1.8.1: Crea un programa que use el operador condicional para mostrar un el valor absoluto de un número de la siguiente forma: si el número es positivo, se mostrará tal cual; si es negativo, se mostrará cambiado de signo.
Ejercicio propuesto 2.1.8.2: Usa el operador condicional para calcular el menor de dos números.
Actualizado el: 24-10-2014 15:25