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

2021-09-08 18:27:13 字數 1060 閱讀 6049

變數定義中型別後帶乙個問號,意思是這個資料型別是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); //

普通使用者

view plaincopy to clipboardprint?

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.

推薦:

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

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

C 單問號( )和雙問號( )用法。

1 單問號 作用 用於給變數設初化的時候,給變數 int型別 賦為null值,而不是0。例子 public int a 預設值為0 public int b 預設值為null 參考 2 雙問號 作用 用於判斷並賦值,先判斷當前變數是否為null,如果是就可以賦乙個新值,否則跳過。例子 public ...

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

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