Operador ternario en C#: Guía concisa para expresiones condicionales
Operador ternario en C#
Domina el operador ternario de C# para lógica condicional compacta y legible.
El operador ternario es un reemplazo sucinto para sentencias if…else simples. Antes de profundizar, repasa la sintaxis de if…else en C# si eres nuevo en ello.
Sintaxis:
Condition ? Expression1 : Expression2;
Funcionamiento:
- Si
Conditionse evalúa atrue, se devuelveExpression1. - Si
Conditionse evalúa afalse, se devuelveExpression2.
Ejemplo: Convierte un if…else multilínea en una línea.
if (number % 2 == 0) {
isEven = true;
} else {
isEven = false;
}
a:
isEven = (number % 2 == 0) ? true : false;
¿Por qué "ternario"?
Porque opera sobre tres operandos: la condición, la rama verdadera y la rama falsa.
Ejemplo 1: Uso básico
using System;
namespace Conditional {
class Ternary {
public static void Main(string[] args) {
int number = 2;
bool isEven;
isEven = (number % 2 == 0) ? true : false;
Console.WriteLine(isEven);
}
}
}
Salida:
True
En este programa, number es 2, así que la condición se evalúa a true, resultando en isEven = true. El ternario también puede devolver otros tipos —cadenas, números, caracteres— lo que lo hace versátil.
Imprimir directamente el resultado también es posible:
Console.WriteLine((number % 2 == 0) ? true : false);
Cuándo usar el operador ternario
El operador ternario es ideal para condiciones cortas y claras. Su abuso puede reducir la legibilidad, especialmente con expresiones anidadas.
Por ejemplo, una cadena de if…else if puede condensarse:
if (a > b) {
result = "a is greater than b";
} else if (a < b) {
result = "b is greater than a";
} else {
result = "a is equal to b";
}
a una sola línea:
result = a > b ? "a is greater than b" : a < b ? "b is greater than a" : "a is equal to b";
Aunque esto acorta el código, los ternarios anidados pueden volverse difíciles de seguir. Úsalos con moderación para condiciones simples; mantén la lógica más compleja en bloques if explícitos.
Lenguaje C
- Mantenimiento Involucrando Operadores: ¿Superan las Ganancias a los Costos Ocultos?
- Servicios Profesionales de Reparación para Teclados de Operador Charmilles
- Estrategias probadas de operador de excavadora para zanjeo y carga eficientes
- Operadores en C++ explicados: Tipos, ejemplos y programas de muestra
- Sobrecarga de operadores en C++: Guía práctica con ejemplos de código
- Dominando la Sobrecarga en C++: Funciones y Operadores Explicados
- Sobrecarga de operadores en C# para tipos personalizados
- Fundamentos de MATLAB: Sintaxis Esencial y Comandos Básicos
- Dominando la Sobrecarga de Operadores en Python: Guía Práctica
- Operador instanceof en Java: Guía completa
- Java 9: Simplificar Clases Internas Anónimas con el Operador Diamante