型別後加問號,雙問號的語法

2021-05-01 20:19:23 字數 587 閱讀 2579

1.  變數定義中型別後帶乙個問號,意思是這個資料型別是nullable型別的。用於給變數設初值的時候,給變數(int型別)賦值為null,而不是0!

例子: 

int? i = 3 等同於nullablei = new nullable(3);

int?是泛型nullable的另一種寫法。

在定義方法的時候允許傳null值:

public

void  adduser( string  name, string  password, int ? role)  

//使用

adduser("小明" , "123456" , null ); //預設null為未審核使用者

adduser("小王" , "123456" ,1); //管理員

adduser("小張" , "123456" ,2); //普通使用者

2.  變數定義中型別後帶兩個問號, 用於判斷並賦值,先判斷當前變數是否為null,如果是就可以賦乙個新值,否則跳過!意思是取所賦值??左邊的,如果左邊為null,取所賦值??右邊的。

例子:    page ?? 0,表示page為null的時候,取右邊的值0.

解析型別後加問號和雙問號

變數定義中型別後帶乙個問號,意思是這個資料型別是nullable型別的。用於給變數設初值的時候,給變數 int型別 賦值為null,而不是0 例子 int?i 3 等同於nullablei new nullable 3 int?是泛型nullable的另一種寫法。在定義方法的時候允許傳null值 p...

C 型別轉換 is as 單問號 雙問號解密

在c 中型別的轉換分兩種 顯式和隱式,基本的規則如下。基類物件轉化為子類物件,必須顯式轉換,規則 型別名 物件。值型別和引用型別的轉換採用裝箱 boxing 或拆箱 unboxing 子類轉化為基類物件。基本型別互相之間轉化可以用convert類來實現。字串型別轉換為對應的基本型別用parse方法,...

C 單問號和雙問號的使用

有時int型別的值可能為空,但int型別不能是string型別。用下列方法解決這個問題private int?getnum null 在控制台輸出getnum,若getnum值為空字串,則輸出0。語句如下。用來判斷getnum值是否為null。console.writeline getnum?0 下...