String.IsNullOrEmptyメソッドは文字列がnull/Nothingもしくは空文字かどうかをチェックする静的メソッドです。
String.IsNullOrWhiteSpaceメソッドは.NET Framework 4から追加されたメソッドで、文字列がnull/Nothingもしくは空文字か、空白文字のみで構成されているかどうかをチェックする静的メソッドです。
String.IsNullOrEmpty・IsNullOrWhiteSpaceメソッドで、文字列がnullもしくは空文字か、空白文字のみで構成されているかを調べる
using System;
class Sample {
static void Main()
{
var s = "foo";
Console.WriteLine("<{0}> : IsNullOrEmpty = {1}", s, String.IsNullOrEmpty(s));
Console.WriteLine("<{0}> : IsNullOrWhiteSpace = {1}", s, String.IsNullOrWhiteSpace(s));
s = " "; // 空白のみの文字列
Console.WriteLine("<{0}> : IsNullOrEmpty = {1}", s, String.IsNullOrEmpty(s)); // 空白のみの文字列の場合はfalseとなる
Console.WriteLine("<{0}> : IsNullOrWhiteSpace = {1}", s, String.IsNullOrWhiteSpace(s)); // 空白のみの文字列の場合はtrueとなる
s = ""; // 空(長さ0)の文字列
Console.WriteLine("<{0}> : IsNullOrEmpty = {1}", s, String.IsNullOrEmpty(s));
Console.WriteLine("<{0}> : IsNullOrWhiteSpace = {1}", s, String.IsNullOrWhiteSpace(s));
s = null; // nullが代入されている文字列変数
Console.WriteLine("<{0}> : IsNullOrEmpty = {1}", s, String.IsNullOrEmpty(s));
Console.WriteLine("<{0}> : IsNullOrWhiteSpace = {1}", s, String.IsNullOrWhiteSpace(s));
}
}
実行結果
<foo> : IsNullOrEmpty = False <foo> : IsNullOrWhiteSpace = False < > : IsNullOrEmpty = False < > : IsNullOrWhiteSpace = True <> : IsNullOrEmpty = True <> : IsNullOrWhiteSpace = True <> : IsNullOrEmpty = True <> : IsNullOrWhiteSpace = True
このメソッドでは、半角および全角のスペースやタブだけでなく、改行文字なども空白文字として扱われます。 具体的には、Unicodeで空白文字と定義されている文字(Char.IsWhiteSpaceがtrueとなる文字)が空白文字として扱われます。