Ejercicio: Implementación del operador condicional
- 7 minutos
Imagine que necesita determinar rápidamente si la compra de un cliente es válida para un descuento promocional. Los detalles de la promoción indican que cuando un valor de compra es mayor que 1000 euros, la compra es apta para un descuento de 100 euros. Si el importe de la compra es de 1000 euros o menos, la compra es apta para un descuento de 50 euros.
Aunque ciertamente podría usar la construcción de bifurcación if ... elseif ... else para expresar esta regla de negocio, el uso del operador condicional para evaluar la aptitud para el descuento promocional puede ser una mejor opción. El operador condicional usa un formato compacto que guarda algunas líneas de código y, posiblemente, aclara la intención del código.
¿Qué es el operador condicional?
El operador condicional?: evalúa una expresión booleana y devuelve uno de los dos resultados, en función de si la expresión booleana es true o false. El operador condicional se conoce normalmente como operador condicional ternario.
Este es el formato básico:
<evaluate this condition> ? <if condition is true, return this value> : <if condition is false, return this value>
Dedíquele un minuto a considerar cómo aplicar el operador condicional al escenario del descuento promocional. El objetivo es mostrar un mensaje al cliente en el que se indique su porcentaje de descuento. El importe de su descuento debe basarse en si han gastado más de 1000 euros en su compra.
Incorporación de código que use un operador condicional
Asegúrese de que tiene un archivo Program.cs vacío abierto en Visual Studio Code. Si es necesario, abra Visual Studio Code y, luego, lleve a cabo los pasos siguientes para preparar un archivo Program.cs en el editor:
- En el menú Archivo, seleccione Abrir carpeta.
- Use el cuadro de diálogo "Abrir carpeta" para ir a la carpeta CsharpProjects.
- En el panel EXPLORADOR de Visual Studio Code, seleccione Program.cs.
- En el menú Selección de Visual Studio Code, elija Seleccionar todo y presione la tecla Supr.
En el Editor de Visual Studio Code, escriba el código siguiente.
int saleAmount = 1001; int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {discount}");En el menú Archivo Visual Studio Code, seleccione Guardar.
El archivo Program.cs debe guardarse antes de compilar o ejecutar el código.
En el panel EXPLORADOR, para abrir un terminal en la ubicación de la carpeta TestProject, haga clic con el botón derecho en TestProject y seleccione abrir en terminal integrado.
Ahora debería abrirse un panel del terminal en el que se muestre un símbolo del sistema. El símbolo del sistema debe mostrar la ruta de acceso de la carpeta TestProject.
En el símbolo del sistema del terminal, para ejecutar el código, escriba dotnet run y presione Intro.
Al ejecutar el código, debería ver la siguiente salida:
Discount: 100
Uso del operador condicional insertado
Podemos eliminar la variable temporal discount para compactar aún más este código.
Actualice el código en el editor de Visual Studio Code de la siguiente manera:
int saleAmount = 1001; // int discount = saleAmount > 1000 ? 100 : 50; Console.WriteLine($"Discount: {(saleAmount > 1000 ? 100 : 50)}");En el menú Archivo Visual Studio Code, seleccione Guardar.
En el símbolo del sistema del terminal, para ejecutar el código, escriba dotnet run y presione Intro.
Observe que la salida es la misma.
Dedíquele un minuto a examinar instrucción
Console.WriteLine()actualizada.Tenga en cuenta que es necesario encapsular toda la instrucción del operador condicional entre paréntesis. Los paréntesis garantizan que el entorno de ejecución comprende la intención, que es mostrar el resultado condicional en lugar del resultado de evaluar la condición (saleAmount > 1000).
Nota
Aunque este ejemplo en particular es compacto y muestra lo que es posible, es un poco más difícil de leer. No siempre es una buena idea combinar líneas de código, especialmente cuando afecta negativamente a la legibilidad general del código. Esta suele ser una decisión subjetiva.
Resumen
Sobre el operador condicional debe recordar lo siguiente:
- Puede usar el operador condicional para reducir el tamaño del código, pero debe asegurarse de que el código resultante se lea fácilmente.
- Puede usar el operador condicional cuando necesite devolver un valor basado en una condición binaria. El código devolverá la primera opción cuando la condición se evalúe como true y, la segunda, cuando la condición se evalúe como false.