スポンサーリンク

【C#】Null条件演算子について【.NET】

2019年5月30日C#.NET, 開発

C#機能バージョン対応表作成しました。
こちらの記事も合わせてご覧ください。

※今回のサンプルコードには匿名型とNull許容型が使われています。
 気になる方はそれぞれの機能説明ページに飛んでください

  • 匿名型
  • Null許容型 

サンプルコード1

上記サンプルコードは、MonsterStatus.Nameの文字数を取得する処理です。
しかし、このサンプルコードではMonsterStatus がnull の場合やMonsterStatus.Name が nullの場合にエラーが発生します。
次に、エラーが発生しないように修正したコードを記載します。

サンプルコード2

上記サンプルコードでは、MonsterStatus が null の場合と MonsterStatus.Name が null の場合は nullを返し、
nullでない場合は MonsterStatus.Name の文字数を取得するようにしています。
しかし、サンプルコード2はサンプルコード1に比べて長くなりました。。。

このサンプルコード2を Null条件演算子 を利用して修正します。

サンプルコード3

めっちゃサンプルコードが短くなった!?
ポイントは何度も出てきている【?】で、この【?】のことをNull条件演算子と言います。

意味は、【●●が null でなければ〜、●●が nullの場合はnullを返す】です。
今回の場合を処理順に説明すると以下になります。

①【MonsterStatus?.Name】 ⇨ 【MonsterStatusが null でなければNameを取得し、MonsterStatusが nullの場合はnullを返す】
②【Name?.Length】 ⇨ 【Nameが null でなければ文字数を取得し、Nameが nullの場合はnullを返す】

これはかなり便利になりますね!

以下、関連機能の紹介です!

 

スポンサーリンク