基本

【C# sharp】string型のnull判定方法5選!

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

はじめに

C#でプログラミングを行う際、変数がnullかどうかをチェックすることは非常に一般的な作業です。

特に、string型の変数に対してnullチェックを行う場合、正確で効率的な方法を知っておくことは、エラーを防ぎ、コードの安全性を高める上で重要です。

この記事では、C#でstring型の変数がnullかどうかを判定する様々な方法を詳細に解説し、それぞれのメリットとデメリットを明らかにします。

サルモリ
nullチェック、大事だよね!
C#のLinqを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 Linqを理解すれば、C#プログラミングの世界が変わる 第1版

基本的なnullチェック

== 演算子を使用する方法

最も基本的なnullチェックの方法は、== 演算子を使用することです。

これは、変数がnullと等しいかどうかを直接比較する非常にシンプルな方法です。

ソースコード例



 出力結果
変数はnullです。
サルモリ
簡単だけど、これが一番よく使われる方法だね!

string.IsNullOrEmpty メソッドを使用する方法

string型の変数がnullであるか、または空の文字列("")であるかをチェックする場合、string.IsNullOrEmpty メソッドを使用することができます。

このメソッドは、変数がnullまたは空の文字列であるかどうかをbool値で返します。

ソースコード例



 出力結果
変数はnullまたは空です。
サルモリ
これは便利だね、空のチェックもできるんだから!

string.IsNullOrWhiteSpace メソッドを使用する方法

string.IsNullOrEmpty メソッドよりもさらに一歩進んだチェックを行いたい場合は、string.IsNullOrWhiteSpace メソッドを使用することができます。

このメソッドは、変数がnull、空の文字列("")、または空白文字のみで構成されている(" ")かどうかをチェックします。このメソッドを使用することで、より厳密な入力検証が可能になります。

ソースコード例



 出力結果
変数はnull、空、または空白のみです。
サルモリ
もっと厳しいチェックができるってわけか。使い分けが大事だね!

高度なnullチェック

null条件演算子(?.)とnull合体演算子(??)の使用

C# 6.0以降では、null条件演算子(?.)とnull合体演算子(??)を使用して、nullチェックをより簡潔に記述することが可能です。

null条件演算子は、オブジェクトがnullでない場合にのみメンバーへのアクセスやメソッドの呼び出しを行い、オブジェクトがnullであればその操作をスキップしてnullを返します。

null合体演算子は、ある値がnullの場合に別の値を返すことができます。

ソースコード例



 出力結果
変数はnullです。
サルモリ
これは便利!コードがスッキリするね!

パターンマッチングを使用する方法

C# 7.0以降では、パターンマッチングを使用してnullチェックを行うことも可能です。

これは、isキーワードとともにnullとの比較を行う新しい方法です。これを使用すると、変数がnullかどうかをチェックし、同時に型チェックも行うことができます。

ソースコード例



 出力結果
オブジェクトはnullです。
サルモリ
isキーワードを使ったパターンマッチングも、とってもクリーンな書き方だね!

まとめ

この記事では、C#におけるstring型の変数がnullかどうかを判定するさまざまな方法を詳しく解説しました。

基本的な== 演算子から、string.IsNullOrEmpty、string.IsNullOrWhiteSpaceメソッド、さらにはnull条件演算子やパターンマッチングまで、用途に応じて最適な方法を選択することができます。

正しいnullチェックの方法を理解し、適用することで、より堅牢で読みやすいコードを書くことが可能になります。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

-基本

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock