Equivalente de IIF en C#

Fil Zjazel Romaeus Villegas 12 octubre 2023
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