在 C# 中,兩個問號一起 (??) 是什麼意思?
它是 **空合併** 運算子。空合併運算子 ?? 返回其左運算元的值(如果它不為空);否則,它計算右運算元並返回其結果。如果左運算元計算結果為非空,則 ?? 運算子不會計算其右運算元。
可空型別可以表示一個可能未定義或來自型別域的值。我們可以使用 ?? 運算子在左運算元具有可空型別時返回適當的值。如果我們嘗試將可空值型別分配給不可空值型別而不使用 ?? 運算子,我們將得到編譯時錯誤,如果我們強制轉換它,則將丟擲 InvalidOperationException 異常。
以下是空合併運算子 (??) 運算子的優點:
它用於為可空項(對於值型別和引用型別)定義預設值。
它可以防止執行時 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP