這是null-coalescing #運算子。如果左操作數不為null,則null-coalescing運算子??傳回其左操作數的值;否則,它會計算右操作數並傳回其結果。如果左運算元評估為非null,則??運算子不會評估其右運算元。
可空型別可以表示未定義或來自型別域的值。當左運算元具有可空型別時,我們可以使用??運算子傳回適當的值。如果我們嘗試將可空值類型分配給非可空值類型而不使用??運算符,我們將得到一個編譯時錯誤,如果我們強制進行強制轉換,將拋出一個InvalidOperationException異常。
以下是Null-Coalescing運算子(??)的優點-
它用來為可空項(值型別和參考型別)定義預設值。
它防止運行時的InvalidOperationException異常。
它幫助我們消除許多冗餘的「if」條件。
它適用於引用類型和值類型。
程式碼變得井然有序且可讀。
示範
using System; namespace MyApplication{ class Program{ static void Main(string[] args){ int? value1 = null; int value2 = value1 ?? 99; Console.WriteLine("Value2: " + value2); string testString = "Null Coalescing"; string resultString = testString ?? "Original string is null"; Console.WriteLine("The value of result message is: " + resultString); } } }
上面範例的輸出如下。
Value2: 99 The value of result message is: Null Coalescing
以上是兩個問號在一起 (??) 在 C# 中意味著什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!