C# 中的 IIF 等效項

Fil Zjazel Romaeus Villegas 2023年10月12日
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