VB中Null、Empty、Nothing及vbNullString的区别

    Null:Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。这有别于zero、Nothing、Empty或者vbNullString。

 可以使用IsNull语句来判断表达式是否为Null:

If IsNull(my_variable) Then ...

 Empty:这也是一个象Integer或者String一样的变量类型,它表示了一个还没有进行初始化的变量。它与Null的意义不同,Null表示没有合法数据。

 一个没有初始化的变量的数值是Empty。你可以使用IsEmpty语句来判断是否变量进行了初始化:

Dim a As Variant    '注意:IsEmpty only returns meaningful information for variants.
'a = 10
If IsEmpty(a) Then
MsgBox "YES"
Else
MsgBox "NO"
End If

    Nothing:这是一个指向空对象的对象引用。将对象引用设置为Nothing,就释放了那个对象。如果没有其他的引用指向对象,Visual Basic就将销毁这个对象。

Dim obj As Form1 

Set obj = Nothing 注释: Free the object reference.

 使用Is Nothing语句来判断是否一个引用为Nothing:

If obj Is Nothing Then ...

    vbNullString:这是个常量,表示一个empty字符串。它与空白字符串""不同,表示什么也没有的字符串(nothing string)。对于许多场合,它被当作一个empty字符串""处理,真正使用它的目的是传递null参数给库函数。

引用一些其他对vbNullString的理解

字符串是由两部分组成:一个指针和一个Unicode字符数组
vbNullString就是一个只有第一部分而没有第二部分的字符串

vbnullstring是一个4字节的空值,传输进api中一般要这样  0&

posted @ 2012-07-10 14:05  冰吻的夜  阅读(3674)  评论(0编辑  收藏  举报