[C#][文字列] null・空文字・空白だけをまとめて判定する IsNullOrWhiteSpace

スポンサーリンク

はじめに

入力された文字列が「何も入力されていない状態」かどうかを確認したいことはよくあります。

たとえば次の3つです。

  • null
  • ""(空文字)
  • " "(空白だけ)

この3つをまとめて判定したいときに便利なのが、string.IsNullOrWhiteSpace()です。

IsNullOrWhiteSpaceを使う

string? text = "   ";

if (string.IsNullOrWhiteSpace(text))
{
    Console.WriteLine("文字が入力されていません");
}

IsNullOrWhiteSpace()は、文字列が次のいずれかの場合にtrueを返します。

null
""
"   "
"\t"

つまり、フォームや設定値などの「実質的に未入力」を1行で判定できます。

IsNullOrEmptyとの違い

似たメソッドにIsNullOrEmpty()があります。

string text = "   ";

Console.WriteLine(string.IsNullOrEmpty(text));      // False
Console.WriteLine(string.IsNullOrWhiteSpace(text)); // True

IsNullOrEmpty()は空白だけの文字列を「値あり」と判定します。

ユーザー入力をチェックする場合は、IsNullOrWhiteSpace()のほうが目的に合うケースが多いでしょう。

まとめ

null・空文字・空白だけをまとめて確認したいなら、

string.IsNullOrWhiteSpace(value)

を使うとシンプルです。

Trim()してから長さを調べるコードを書くより、意図も伝わりやすくなります。

今回のTips:文字列の「実質未入力」はIsNullOrWhiteSpace()で判定する。

Please follow and like us:

コメント

タイトルとURLをコピーしました