2013-03-25 73 views
0

我最近下載了Dropthings門戶,並在代碼中找到了新的語法。從Dropthings類似於Nullabletype的新語法?

ConfigurationManager.AppSettings["t"] ?? string.Empty 

我想知道它是否類似於NULLABLE類型,如果config ...爲NULL,那麼將使用此值。有人可以澄清我的觀察,因爲我無法在MSDN中找到等效的例子嗎?

回答

2

是的,你是正確的,

a ?? b手段,a如果a不爲空,且b如果是

這還挺a == null ? b : a

+0

謝謝朋友。 – 2013-03-25 16:07:30

2

?? operator相當於被稱爲空合併運算符,用於定義可爲空的值類型或引用類型的默認值。如果操作數不爲null,則返回左側的操作數;否則它返回右操作數。

int? x = null; 

// y = x, unless x is null, in which case y = -1. 
int y = x ?? -1; 

ScottGu's Blog這個操作符的簡單圖示。

+0

+1爲非常豐富的博客文章 – 2013-03-25 16:11:51

2

代碼中的??實際上是內置於C#語言中的一項功能。它被稱爲Null Coalescing Operator。你可以在任何C#代碼中使用它。

string someValue = null; 
Console.WriteLine(someValue ?? "Default Value"); //Default Value