燈明ブログ

現状は小池啓仁の応援ブログ

VB系変数のデフォルト値と空値メモ

今までの流れを絶ち切り、技術系メモです。
とにかく、ややっこしいのでメモしときます。

◆デフォルト値
VB6とVB.NETともに整数系(Integer)のデフォルト値はゼロ(0)。
VB6とVB.NETともに文字列(String)のデフォルト値は空文字列("")。
VB6とVB.NETともにオブジェクト型(Object)のデフォルト値はNothing。
VB6のみのバリアント型(Variant)のデフォルト値はEmpty値。

◆空値
VB6とVB.NETともに整数系(Integer)の空値はゼロ(0)。
VB6とVB.NETともに文字列(String)の空値は空文字列("")。
VB6のオブジェクト型(Object)の空値はNull値。
VB.NETのオブジェクト型(Object)の空値はDBNull値。
VB6のみのバリアント型(Variant)の空値はNull値。

◆NullとNothing
Null値は、VB6のみでバリアント型の変数しか代入できない。
DBNull値は、VB.NETのみでオブジェクト型の変数しか代入できない。
Nothingは、VB6ではオブジェクト型の変数しか代入できない。
Nothingは、VB.NETではすべての型の変数に代入できる。

VB.NETのNothingについて
オブジェクト型は、オブジェクトの参照値が入る型。
Nothingは、参照値がない状態を示すこと。
VB.NETの変数は、実は、すべてオブジェクト。
よって、Nothingは、VB.NETのすべての型の変数に代入できる。

◆Variantの文字列連結について
文字列を連結するときに、Empty値のバリアント型変数は、連結できる。
文字列を連結するときに、Null値のバリアント型変数は、連結できない。

      • -

私は、VB素人なので、間違えがあったらバシバシ突っ込んでください。