【vb.net】空文字 の判定方法 =かIsNullOrEmptyを使う

vb.netで空文字の判定をする方法について

いくつも方法は存在しますが、個人的によく見る方法を2つ紹介します。

=で空文字と比較

'Nothingの場合
Dim str As String = Nothing
If str = "" Then
    Console.WriteLine("str: empty")
End If

'""の場合
Dim str2 As String = ""
If str2 = "" Then
    Console.WriteLine("str2: empty")
End If

'String.Emptyの場合
Dim str3 As String = String.Empty
If str3 = "" Then
    Console.WriteLine("str3: empty")
End If

実行結果:

str: empty
str2: empty
str3: empty

 

= “” で比較した場合

Nothing、空文字、String.EmptyのどれでもTrueとなります。

 

IsNullOrEmptyを利用

空文字を判定できるメソッドの、IsNullOrEmptyを使用します。

 

'Nothingの場合
Dim str As String = Nothing
If String.IsNullOrEmpty(str) Then
    Console.WriteLine("str: empty")
End If

'""の場合
Dim str2 As String = ""
If String.IsNullOrEmpty(str2) Then
    Console.WriteLine("str2: empty")
End If

'String.Emptyの場合
Dim str3 As String = String.Empty
If String.IsNullOrEmpty(str3) Then
    Console.WriteLine("str3: empty")
End If

実行結果:

str: empty
str2: empty
str3: empty

こちらも Nothing、空文字、String.EmptyのどれでもTrueとなります。

 

IsNullOrEmpty と = の違い

vb.netでは = “” と IsNullOrEmpty のどちらを使っても同じ結果が得られます。

 

新米太郎
新米太郎

実行速度に関しても、両者にほぼ差がないと言われてます!

なので、好きな方を使いましょう!!!

 

c#では同じではない

実はC#では=で空文字と比較した場合、空文字とNothing(null)が区別されるため

=だと正しい結果が得られないので、IsNullOrEmptyがよく使われます。

 

新米太郎
新米太郎

その影響なのかvb.netでも

IsNullOrEmptyを使用している人が多い印象がありますね。

 

最後に

今回はvb.net空文字 の判定方法を紹介しました。

 

新米太郎
新米太郎

お読み頂きありがとうございました!




コメント

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