C# 重點基礎知識========空接合操作符===>??
阿新 • • 發佈:2018-11-10
在寫 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 ?? "預設值"