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