在c#中"??"為空合併運算子,用於定義可空型別和引用型別的預設值。
(1)如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。例:a??b,當a為程式設計客棧null時則返回b,a不為空時返回a本身。
(2)右運算元型別必須與左運算元型別相同,或者可以隱程式設計客棧式的轉換為左運算元型別。否則編譯錯誤。
(3)空合併運算子為右結合運算子,即操作時從右向左進行組合的。例:"程式設計客棧a??b??c"的形式按"a??(sstbzkiqeb??c)"計算。
本文標題: c# 空合併運算子「??」的使用詳解
本文位址: /ruanjian/csharp/95807.html
C 空合併運算子
c 除了有?這個三元運算子以外 還有兩個問號?運算子叫做空合併運算子,用來判斷null值取空非常方便 string c a b a是值型別string,如果a是null,那麼c b,否則c a。這樣就會有新的需求,如果a是乙個物件 引用型別 a有name欄位,我們需要在a不是null的時候獲取a.n...
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...