C# 中的 IIF 等效项
Fil Zjazel Romaeus Villegas
2022年4月20日
本教程将演示如何在 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