首頁  >  文章  >  後端開發  >  兩個問號在一起 (??) 在 C# 中意味著什麼?

兩個問號在一起 (??) 在 C# 中意味著什麼?

WBOY
WBOY轉載
2023-09-11 19:25:02853瀏覽

两个问号在一起 (??) 在 C# 中意味着什么?

這是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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除