C 中的可空型別修飾符

2021-08-07 08:54:37 字數 586 閱讀 9902

這裡說明兩個運算子: 

可空型別修飾符(?): 

官方叫做null-conditional operators。 

引用型別可以使用空引用表示乙個不存在的值,而值型別通常不能表示為空。為了使值型別也可為空,可空型別出現了,可空型別使用可空型別修飾符?來表示。表現形式為t?,其實t?等價於nullable。

空合併運算子(??): 

官方叫做null-coalescing operator。 

用於定義可空型別和引用型別的預設值。如果此運算子的左運算元不為 null,則此運算子將返回左運算元;否則返回右運算元。 

a ?? b表示如果a為null則返回b,否則返回a。

看乙個示例:

using system;

namespace test

", x);

console.writeline("y = ", y);

console.writeline("z = ", z);}}

}

輸出:

x = 

y = 10

z =

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

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

C 型別修飾符

資料隱藏是物件導向程式設計的乙個重要特點,它防止函式直接訪問類型別的內部成員。類成員的訪問限制是通過在類主體內部對各個區域標記public private protected來指定的。關鍵字 public private protected 稱為訪問說明符。乙個類可以有多個 public prote...

C 修飾符型別

c 允許在char int 和 double資料型別前放置修飾符。修飾符用於改變基本型別的含義,所以它更能滿足各種情境的需求。下面列出了資料型別修飾符 為了理解 c 解釋有符號整數和無符號整數修飾符之間的差別,我們來執行一下下面這個短程式 include using namespace std 這個...