はじめに
入力された文字列が「何も入力されていない状態」かどうかを確認したいことはよくあります。
たとえば次の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:
コメント