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