0

最近、Dropthings ポータルをダウンロードしたところ、コードに新しい構文が見つかりました。

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

config...がNULLの場合、この値が使用されるNULLABLEタイプに似たものかどうか疑問に思っていました。MSDNでも同等の例が見つからなかったので、誰かが私の観察を明確にすることができますか?

4

3 に答える 3

2

はい、あなたは正しいです、

a ?? bが null でない場合、 および null のa場合ab

それはちょっと同等ですa == null ? b : a

于 2013-03-25T16:02:04.577 に答える
2

?? _ 演算子null 合体演算子と呼ばれ、null許容値型または参照型の既定値を定義するために使用されます。オペランドが null でない場合は左側のオペランドを返します。それ以外の場合は、右側のオペランドを返します。

 int? x = null;

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

この演算子の簡単な説明については、 ScottGu のブログを参照してください。

于 2013-03-25T16:02:27.847 に答える
2

コード内の??は、実際には C# 言語に組み込まれている機能です。これはNull Coalescing Operatorと呼ばれます。任意の C# コードで使用できます。

string someValue = null;
Console.WriteLine(someValue ?? "Default Value"); //Default Value
于 2013-03-25T16:02:31.957 に答える