C#問號意思
在C#中,問號(?)可以用來表示Nullable類型,或者用於運算符的短路邏輯。
-
Nullable類型: 當一個類型後面跟隨著一個問號時,表示這個類型是一個可能為空的值類型。例如:
int? num = null; // 數字類型可以為空
-
短路邏輯: 在條件陳述式或運算式中,問號可以用於短路邏輯,這意味著如果表達式的左側已經能夠決定整個條件陳述式的結果,則不需要評估表達式的右側。例如:
if (condition1 ? true : false) { // 執行某些代碼 }
在上面的例子中,如果
condition1
為真,則true
會被短路,因為無論condition2
的值如何,都不會改變整個條件陳述式的結果。
另外,在C# 8.0中引入了模式匹配,問號可以用於模式匹配中的「可能為空」模式。例如:
if (obj is int? number)
{
// 處理 number 可能為 null 或 int 值
}
總結來說,問號在C#中有以下幾種用途:
- 表示可能為空的值類型。
- 用於短路邏輯,避免不必要的運算。
- 在模式匹配中,用於匹配可能為空的值。