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空文字 の判定方法を紹介しました。

新米太郎
お読み頂きありがとうございました!
コメント