Pages

2011/05/12

[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になる

まぁ、いずれにせよ暗黙的な代入になるので、使用しないに越したことはないということだ。
Related Posts Plugin for WordPress, Blogger...