C# 中的 IIF 等效项

Fil Zjazel Romaeus Villegas 2022年4月20日
C# 中的 IIF 等效项

本教程将演示如何在 C# 和其他替代方案中使用 IIF 等效项。

IIF 代表 immediate if,在 Visual Basic 编程语言中可用。在一行中,你可以传递特定条件并指定在发现条件为真或假时要返回的值。

IIF(condition, True, False)

虽然 C# 没有与此完全等价的方法,但你可以使用 ? 运算符。

C# ? 运算符

三元运算符,通常也称为条件运算符,是一种接受三个操作数的运算符,而不是大多数运算符使用的通常的一两个操作数。在这种情况下,? 运算符简化了 if-else 块。使用 ? 的一般结构运算符如下:

string string_val = (anyBool ? "Value if True" : "Value if False");

例子:

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();
        }
    }
}

在上面的示例中,我们创建了一个整数变量以及一个字符串,其值根据整数 a 的值而变化。要设置字符串值,我们使用三元运算符检查 a 的值。如果发现 a 等于 1,则字符串将反映该值,反之亦然。更改 a 的值后,你可以观察到字符串值在打印的输出中按预期更改。

输出:

Initial Value (1): A is Equal to One
Updated Value (2): A is NOT Equal to One