[C#] null合体演算子
値がNULLの時に代わりの値を代入する場合、if文や3項演算子でnull判定をして分岐をする
if (value1 == null) { value1 = ""; }
または、
value1 = value1 == null ? "" : value1;
などとするのが普通だが、C#ではもっと省略できる
value1 = value1 ?? "";
知らないと何が書かれているか判別できないが、value1がnullの時は”??”の後ろの値をセットするという意味。OracleのNVL関数と同じようなもの
すごく省略できるけど、コメントで説明してないとクレーム来そうな省略ぶりですね。
null合体演算子というらしいです。(または??演算子)
C#だけかと思ったら最近バージョンアップした言語のいくつかで使えるようです。
演算子であるため、+-*/などと同様に扱われます。??は演算子の優先順位としてはかなり低い(最後の方に評価される)ため、数値計算と組み合わせて使う場合は、注意が必要です。
プロジェクトによってはもしかしたら使用すべきではないと規定されているかもしれないので、確認してください。
== ランキングに参加しています。ぜひクリックお願いします ==
[.NET] [NLog] ログ出力フォルダにコンピュータ名を指定する システム開発におけるステークホルダーとは