C#問號意思

在C#中,問號(?)可以用來表示Nullable類型,或者用於運算符的短路邏輯。

  1. Nullable類型: 當一個類型後面跟隨著一個問號時,表示這個類型是一個可能為空的值類型。例如:

    int? num = null; // 數字類型可以為空
  2. 短路邏輯: 在條件陳述式或運算式中,問號可以用於短路邏輯,這意味著如果表達式的左側已經能夠決定整個條件陳述式的結果,則不需要評估表達式的右側。例如:

    if (condition1 ? true : false)
    {
     // 執行某些代碼
    }

    在上面的例子中,如果condition1為真,則true會被短路,因為無論condition2的值如何,都不會改變整個條件陳述式的結果。

另外,在C# 8.0中引入了模式匹配,問號可以用於模式匹配中的「可能為空」模式。例如:

if (obj is int? number)
{
    // 處理 number 可能為 null 或 int 值
}

總結來說,問號在C#中有以下幾種用途: