相信大家在做系统的时候会经常遇到null、empty、nothing、vbnullstring这一类变量,他们有很大的相似性,以至于我们在选择的时候会有些混乱。据此,通过整理有关资料在这里把这些变量的区别总结一下,有哪里不完善的欢迎提出。
Null:Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。这有别于zero、Nothing、Empty或者vbNullString。许多数值与Null结合在一起,都将产生Null结果。比如: 表达式 结果 Null - Null Null Null + 7 7 Null = Null Null 你可以使用IsNull语句来判断表达式是否为Null: If IsNull(my_variable) Then ...
Empty:这也是一个象Integer或者String一样的变量类型,它表示了一个还没有进行初始化的变量。它与Null的意义不同,Null表示没有合法数据。 一个没有初始化的变量的数值是Empty。你可以使用IsEmpty语句来判断是否变量进行了初始化: If IsEmpty(my_variant) Then ...
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参数给库函数。 判断字符串是否为空白 有以下几种方法判断一个字符串是否为空白: Dim txt As String Dim blank As String blank = "" : If Len(txt) = 0 Then ... If txt = vbNullString Then ... If txt = "" Then ... If txt = blank Then ... 经过测试,Len(txt)=0的方法要比其他方法快20%多
Null, Empty, Nothing, and vbNullString的区别
原文:http://blog.csdn.net/u010892841/article/details/18661129