相信很多人都看到??運算符,但是不一定每個人都知道它是用來做什么的,之前我也看到過很多次,但是因為一直沒有去用過,所以也沒有了解他的作用,今天又看到了,所以查了的MSDN,原來??運算符叫做空接合運算符,作用是,要判斷一個對象是否為null,如果為null那么給賦于一個默認的值,做法相當的麻煩.例如:int? isobject = null; if(isobject==null) { isobject=0; }每次都要進行判斷!!當然以上舉的只不過是一個簡單的例子,有人會想,int型的本來就不會為null,因為其本身有一個默認的值為0.我在這里要說明一下的是,這里舉的只是一個例子而己!而且int?代表了變量isobject是可為空的!所以當我賦與一個null時,isobject并不是為0,而是為null.每次的判斷都要用一個if語句,相當的麻煩,現在用了空接合,代碼如下:isobject = isobject??0;空接合運算符(??)為處理可空類型和引用類型時表示NULL值的可能性提供了一個快捷方式,這個運算符放在兩個操作數之間,第一個操作數必須是一個可空類型或引用類,第二個操作數必須與第一個操作數的類型相同,或者可以隱含地轉換為第一個操作數的類型.空接合運算符的計算如下:如果第一個操作數不為NULL,則整個表達式就等于每一個操作數,但如果第一個操作數為NULL,則整個表達式就是等于第二個操作數的值.例如:int? a= null; int b; b= a??10; //b has the value 10 a=3; b= a??10; //b has the value 3如果第二個操作數不能隱含地轉換為第一個操作數的類型,就生成一個編譯錯誤.
新聞熱點
疑難解答