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