溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中?、?.、??、??=運算符怎么使用

發(fā)布時間:2023-04-19 11:46:14 來源:億速云 閱讀:97 作者:iii 欄目:開發(fā)技術

本文小編為大家詳細介紹“C#中?、?.、??、??=運算符怎么使用”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“C#中?、?.、??、??=運算符怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

1. 可空類型修飾符 ?

// 引用類型能用空引用來表示一個不存在的值,但是值類型不能。例如:
string str = null;
int i = null;//編譯報錯

// 為了使值類型也能使用可空類型,
//    就可以使用“?”來表示,表現(xiàn)形式為“T?”。例如:
int i?;            //表示可空的類型
DataTime time?; //表示可空的時間

2. 空合并運算符 ??

// 用于定義引用類型和可空類型的默認值。
// 如果此運算符的左操作符不為Null,則此操作符返回左操作數(shù),
//        否則返回右操作數(shù)。
// 當a不為空時返回a,為null時返回b
var c = a ?? b;

3. 非null時繼續(xù)執(zhí)行后續(xù)代碼,運算符 ?.

// 不為null時執(zhí)行后面的操作。例如:

// 以下兩段代碼等效 ,即Person.Name非null時才繼續(xù)執(zhí)行后續(xù)邏輯
Person.Name?.Person.Code;
Person.Name = Person == null ? null : Person.Code;

4. ??=

// C# 8.0 及更高版本中可使用空合并賦值運算符 ??=,
// 該運算符僅在左側操作數(shù)的求值結果為 null 時,
// 才將其右側操作數(shù)的值賦值給左操作數(shù)。 
// 如果左操作數(shù)的計算結果為非 null,
//         則 ??= 運算符不會計算其右操作數(shù)。

List<int> numbers = null;
int? i = null;
 
numbers??= new List<int>();
numbers.Add(i ??= 17);
numbers.Add(i ??= 20);
 
Console.WriteLine(string.Join("", numbers));//output:17 17
Console.WriteLine(i);//output 17

讀到這里,這篇“C#中?、?.、??、??=運算符怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI