プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[C#] null合体演算子

値がNULLの時に代わりの値を代入する場合、if文や3項演算子でnull判定をして分岐をする

if (value1 == null)
{
	value1 = "";
}

または、

value1 = value1 == null ? "" : value1;

などとするのが普通だが、C#ではもっと省略できる

value1 = value1 ?? "";

知らないと何が書かれているか判別できないが、value1がnullの時は”??”の後ろの値をセットするという意味。OracleのNVL関数と同じようなもの

すごく省略できるけど、コメントで説明してないとクレーム来そうな省略ぶりですね。

null合体演算子というらしいです。(または??演算子)
C#だけかと思ったら最近バージョンアップした言語のいくつかで使えるようです。

演算子であるため、+-*/などと同様に扱われます。??は演算子の優先順位としてはかなり低い(最後の方に評価される)ため、数値計算と組み合わせて使う場合は、注意が必要です。

プロジェクトによってはもしかしたら使用すべきではないと規定されているかもしれないので、確認してください。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください