System.NullReferenceExceptionを回避する(C#)

はじめに


こんにちは、東京アプリケーションシステム 第二ソリューション部のK.T.です。
今回は、System.NullReferenceExceptionを回避するということで、null合体演算子を使用した回避方法を紹介したいと思います。

環境


.NET Framework 4.8

実装


下記のコードを実行すると、指定された文字列の長さをコンソールに出力する際に、System.NullReferenceExceptionの例外が発生してしまいます。
これは、nullオブジェクト参照のメンバーにアクセスしたためです。

この例外を回避する方法は、いくつかありますが、今回使用するのは、null合体演算子です。
null合体演算子を使用すると、下記のように書くことができます。

上記の変更を適用し、実行するとSystem.NullReferenceExceptionはthrowされず、下記のような結果となります。

まとめ


null合体演算子を使用すると、インスタンス自体がnullの場合に、メンバーにアクセスして、System.NullReferenceExceptionがthrowされるのを回避できます。
今回のようにnullを渡して問題ない関数には、今回紹介したような回避方法も可能です。
他の使い方もあるので、興味のある方は、null合体演算子について調べてみてはいかがでしょうか。