C 空合併運算子

2021-10-10 20:58:32 字數 464 閱讀 1283

c#除了有?:這個三元運算子以外

還有兩個問號??運算子叫做空合併運算子,用來判斷null值取空非常方便

string c = a ?? b ;       a是值型別string,如果a是null,那麼c=b,否則c=a。

這樣就會有新的需求,如果a是乙個物件(引用型別),a有name欄位,我們需要在a不是null的時候獲取a.name,否則獲取b

(如果a是null,直接獲取a.name會報錯)

平時我們會這樣寫

string result="";

if(a==null)else

這是c#提供了?.這種寫法來簡化, a?.name這種寫法可以在a是null的時候不再進行後續操作

string result=a?.name??b;

c 空合併運算子「 」的使用詳解

在c 中 為空合併運算子,用於定義可空型別和引用型別的預設值。1 如果此運算子的左運算元不為 null,則此運算子將返回左運算元 否則返回右運算元。例 a?b,當a為程式設計客棧null時則返回b,a不為空時返回a本身。2 右運算元型別必須與左運算元型別相同,或者可以隱程式設計客棧式的轉換為左運算元...

C 的可空型別和合併運算子

c 提供了乙個特殊的資料型別,nullable型別,可空型別可以表示其基礎值型別正常範圍內的值,再加上乙個null值。在處理資料庫和其他包含可能未賦值的元素的資料型別時,將nul賦值給數值型別或布林型的功能特別有用。可以將bool型賦值未定義。宣告乙個nullable型別 null 例如 using...

可空型別修飾符與空合併運算子

可以讓乙個值型別賦值為null,例如給乙個struct賦值為null或判斷乙個struct是否被賦過值 if m teststruct null 單問號 宣告該值型別為可空型別 宣告乙個可空型別有以下三種方式 int a null int b newint?nullable int c newnul...