[VB.NET] Nothingの代入は暗黙的な初期化と同じ

.NET開発を始めるVB6プログラマーが知るべき9のこと
VBはもう最近ではやっていないのだが、なかなか興味深い。昔から言われてきたことが、今でもまだ言われ続けていることがVB6の呪縛の強さを表していると思う。

Nothingの扱いが面白い。初期値が代入されるらしい。
調べたら初期値とは以下のことらしい。

すべての数値型 (Byte および SByte を含む): 0
Char: バイナリの 0
すべての参照型 (Object、String、およびすべての配列を含む): Nothing
Boolean: False
Date: 西暦 1 年 1 月 1 日の午前 12:00 (01/01/0001 12:00:00 AM)

例えば参照型の文字型は、空ではなくNothingになる。

Dim s As String = ""
Console.WriteLine(s)
' ここでは空文字
s = Nothing
Console.WriteLine(s)
' Nothingになる

まぁ、いずれにせよ暗黙的な代入になるので、使用しないに越したことはないということだ。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する