VB.NETでの空文字列("")は、EmptyやNothingとイコールか?

VB6,VBA,VBS,EXCEL,DOS,BAT,WSH,WORDの小技メモ

HTML/ CSS/ CGI-Perl/ JavaScript/ JavaApplet/ AccessUp/ Internet/ EnglishLearn/ ちゃいちゃん天使/ 天使メッセージ/ 飯田ワールド/ 結城ワールド/ プロフィール/ WEB相談室/ WEBアンテナ/ 燈明日記/ Perlノート/ 漢字起源/ yahoo

はじめに

本ページは、ウインドウズ系全般のティプスメモです。

そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。

ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。

尚、以下は本サイトの最新情報(ブログ)です。

それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。

◆ VB.NETでの空文字列("")は、EmptyやNothingとイコールか?

VB.NETでの空文字列("")は、EmptyやNothingとイコールか?

とりあえす、If文では、すべてイコールです。

厳密には

String.Empty フィールドは

空の文字列を表します。

http://msdn2.microsoft.com/ja-jp/library/system.string.empty(VS.80).aspx

Nothingキーワードは

変数に Nothing を代入すると、変数の宣言された型に対する既定値が変数に設定されます。

型に変数のメンバが含まれている場合は、すべてに既定値が設定されます。

http://msdn2.microsoft.com/ja-jp/library/0x9tb07z(VS.80).aspx

空文字列("")がEmptyやNothingとすべてイコールになる確証。

Dim str As String
Dim strNothing As String = Nothing
Dim strTest As String = ""
Dim strEmpty As String = String.Empty

'str
Console.WriteLine(str Is Nothing)     ←True
Console.WriteLine(str Is String.Empty)  ←False
If str = "" Then             ←True
   Console.WriteLine(True)
Else
   Console.WriteLine(False)
End If

'strNothing
Console.WriteLine(strNothing Is Nothing)    ←True
Console.WriteLine(strNothing Is String.Empty) ←False
If strNothing = "" Then            ←True
   Console.WriteLine(True)
Else
   Console.WriteLine(False)
End If

'strTest
Console.WriteLine(strTest Is Nothing)    ←False
Console.WriteLine(strTest Is String.Empty) ←True
If strTest = "" Then            ←True
   Console.WriteLine(True)
Else
   Console.WriteLine(False)
End If

'strEmpty
Console.WriteLine(strEmpty Is Nothing)    ←False
Console.WriteLine(strEmpty Is String.Empty) ←True
If strEmpty = "" Then            ←True
   Console.WriteLine(True)
Else
   Console.WriteLine(False)
End If
http://vbnet-iku2.hp.infoseek.co.jp/cgi-bin/treecrsdx02/index.cgi?m=look&bnum=1806

おわりに

以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!

尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。