Equivalente de IIF en C#
Este tutorial demostrará cómo usar el equivalente de IIF en C# y otras alternativas.
IIF
significa immediate if
y está disponible en el lenguaje de programación Visual Basic. En una sola línea, puede pasar una condición particular y especificar los valores que se devolverán si se determina que la condición es verdadera o falsa.
IIF(condition, True, False)
Si bien C# no tiene un equivalente exacto a esto, puede usar el ?
operador.
Operador ?
de C#
Un operador ternario, también conocido comúnmente como operador condicional, es un operador que acepta tres operandos en lugar de uno o dos habituales, que utilizan la mayoría de los operadores. En este caso, el ?
El operador simplifica un bloque if-else. La estructura general del uso del ?
operador es el siguiente:
string string_val = (anyBool ? "Value if True" : "Value if False");
Ejemplo:
using System;
using System.Collections.Generic;
namespace StringJoin_Example {
class Program {
static void Main(string[] args) {
// Initialize the integer variable a
int a = 1;
// Check if the condition is true
string ternary_value = (a == 1 ? "A is Equal to One" : "A is NOT Equal to One");
// Print the result to the console
Console.WriteLine("Initial Value (" + a.ToString() + "): " + ternary_value);
// Update the variable
a = 2;
// Re check if the conidition is still true
ternary_value = (a == 1 ? "A is Equal to One" : "A is NOT Equal to One");
// Print the result to the console
Console.WriteLine("Updated Value (" + a.ToString() + "): " + ternary_value);
Console.ReadLine();
}
}
}
En el ejemplo anterior, creamos una variable entera y una cadena cuyo valor cambia según el valor del entero a
. Para establecer el valor de la cadena, verificamos el valor de a
usando el operador ternario. Si se encuentra que a
es igual a uno, la cadena lo reflejará y viceversa. Después de cambiar el valor de a
, puede observar que el valor de la cadena cambia como se esperaba en la salida impresa.
Producción :
Initial Value (1): A is Equal to One
Updated Value (2): A is NOT Equal to One