C#の3項演算子

3項演算子といえば「条件 ? 真の時の値 : 偽の時の値」だけど、
なんとC#2.0にはnullの時に使える「??」ってのがある。

string x = args ?? string.Empty

たとえば上記のように記述すると、
変数argsがnullの場合には、string.Emptyが、
null以外の場合には、argsの値が変数xに格納される。


もうちょっと理解しやすいサンプル。

string arg1 = null;    // null
string arg2 = "test3"; // 文字列

// 変数がnullの場合
string x = arg1 ?? "test1"; // "test1"が格納される

// 変数がnull以外の場合
string y = args2 ?? "test2" // "test3"が格納される


以外に使う機会が多い。