.NET 中的雙問號

來源:互聯網
上載者:User

已經不止一次遇到這種符號了,每次都要Google一遍,今天要徹底記住它的用法:

 

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

例子: 

int? i = 3 等同於Nullable<int> i = new Nullable<int>(3);

int?是泛型Nullable<int>的另一種寫法。

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


 
  1. public   void  AddUser( string  name, string  password, int ? role)  
  2. {  
  3.     //內容略...   
  4. }  
  5.   
  6.   
  7. //使用   
  8. AddUser("小明" , "123456" , null ); //預設null為未審核使用者   
  9. AddUser("小王" , "123456" ,1); //管理員   
  10. AddUser("小張" , "123456" ,2); //普通使用者   

 

[c-sharp] view plaincopy

  1. public void AddUser(string name,string password,int? role)  
  2. {  
  3.     //內容略...  
  4. }  
  5.   
  6. //使用  
  7. AddUser("小明","123456",null);//預設null為未審核使用者  
  8. AddUser("小王","123456",1);//管理員  
  9. AddUser("小張","123456",2);//普通使用者  

 

 

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.