条件演算子の際のnullでない場合の記述がそのまま省略できています。ここまではsomeObject.SomeProperty(検査対象の値)がnullかどうか判定して値を返していましたが、上記の例でsomeObject.SomePropertyの親オブジェクトの「someObject」がnullだった場合を考えてみましょう。サンプルコードではsomeObjectのSomePropertyというプロパティを参照していますが、someObjectがnullの場合が考慮されていません。NullReferenceExceptionが発生してしまいます。someObjectがnullでなければSomePropertyを参照し、nullであればSomePropertyを参照しないようにしたいです。これを実現するためにC#には「null条件演算子」という演算子が用意されています。null条件演算子(「?.」「?[]」)を使うnull条件演算子は検査対象の値がnullでない場合のみプロパティやメソッドにアクセスし、nullの場合はnullを返します。上記の例でsomeObjectがnullでない場合のみSomePropertyを参照する処理を、null条件演算子を使って記述すると以下のようになります。someObject?.SomeProperty;参考までに上記のコードをif文を使って表すと次のようになります。(nullの場合はnullを返しなさい。null条件演算子は配列やインデクサにも使うことができます。peopleというperson(人)のコレクションを持つオブジェクトがある場合、productsオブジェクトがnullでなければ先頭の要素を取得するコードは次のようになります。people?[0];null合体演算子とnull条件演算子を組み合わせるnull合体演算子とnull条件演算子を別々に見てきましたが、これを組み合わせて使うことも可能です。ここまでの例をnull合体演算子とnull条件演算子の両方を使って記述すると以下のようになります。返し、nullでなければSomePropertyの値を返しています。これで十分なような気もしますが、上記のコードでは、someObjectがnullの場合にはsomeValueにはnullが代入されます。返したい場合はどうすればよいでしょう。null合体演算子を1つ足してやればいいのです。"";上記のコードをif文を使って表すと次のようになります。someObject.SomeProperty;}まとめ最後にnull合体演算子とnull条件演算子についてまとめておきます。値がnullかどうかを判断して値を返す処理には、null合体演算子「??」が使える値がnullでない場合のみプロパティやメソッドなどにアクセスしたい場合は、null条件演算子「?.」「?[]」が使える2つの演算子を組み合わせることで、さらに完結なコードが書けるnull合体演算子とnull条件演算子、さらに条件演算子(参考演算子)を使うとシンプルなコードが記述できます。これらの演算子はコードを簡潔に書けるだけでなく、if文では可能になってしまう「余計な処理の混入」ができないため、バグが生まれる可能性が下がるというメリットもあります。最初は呪文のようで読みにくいかもしれませんが、使いこなすと簡素、且つ高品質なコーディングが可能になりますので、ぜひ使いこなせるようになってください。[C#].NETのSystem.Drawing名前空間にあるColor構造体に定義されている名前付きの色を列挙して一覧表示するサンプルです。[C#]Windowsフォームアプリケーションのフォームでは、フォームを透明化して背景を表示することができます。TextBoxWindowsフォームアプリケーションのフォームに、複数行入力できるようにしたテキストボックスを配置した場合に、テキストボックスのサイズ(高...記事を読むWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する。StudioでC#のWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する方法を記載します。[C#]C#でファイルをコピーする方法について紹介します。[C#]21でWindowsフォームアプリケーションのフォームの透明度(不透明度)を設定する方法を紹介します。拡張メソッドの一覧です。C#でファイルを削除する方法について紹介します。