程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c# 空接合(??)運算符的運用,

c# 空接合(??)運算符的運用,

編輯:C#入門知識

c# 空接合(??)運算符的運用,


相信很多人都看到??運算符,但是不一定每個人都知道它是用來做什麼的,之前我也看到過很多次,但是因為一直沒有去用過,所以也沒有了解他的作用,今天又看到了,所以查了的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
如果第二個操作數不能隱含地轉換為第一個操作數的類型,就生成一個編譯錯誤.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved