1. 程式人生 > >C# 重點基礎知識========空接合操作符===>??

C# 重點基礎知識========空接合操作符===>??

在寫 javascript 時 總會遇到 判斷 引數是否為 null 為空則賦值為預設值 的情況,如下:

function test(prop){
prop = prop || "預設值"

}

 

一直以為在C#中沒有相應的方法 因為在C#中 || 運算子兩邊只能放bool表示式

在逛網頁的時候發現了 ?? ==> 空接合操作符

Public string Test(string  str){
str = str ?? "預設值"
return str

}

決定以後將這個 空接合操作符  加以利用 ,既然要用它就要好好了解它

解釋: 若前一個引數為 null ,則直接返回 後面那個引數,

若前面一個引數不為null ,則返回 前面一個引數

要點 : 值型別的預設值都不為 null ,引用型別的的預設值為空 ,因為

值型別就是期望著用來儲存一個有意義的值,本生就是值,存於棧

引用型別是儲存了一個地址,當這個地址為空的時候也就是,這個引用型別 == null的時候

 

三位運算子      bool表示式 ?  值1 : 值2  可以有複合操作 如下:嵌套了兩個三位運算子

var data = prop ==1? prop  :(prop%2==0 ? 0 : 1)

空接合操作符 也可以 進行 如下:

解釋:在prop為空則向後看 ,temp 為空就返回 "預設值"

var data = prop ?? temp ?? "預設值"