0, “”, Null, Empty, Nothing区别

很久前寫的東西,稍加整理
 
0""Null Empty Nothing 的区别,从某个网页上看到的,加了点自己的看法.
  先回答以下问题吧! 经过以下的叙述之后, 变量 ABCD 分别等于 0""Null Empty Nothing 的哪一个?
Dim A
Dim B As String
Dim C As Integer
Dim D As Object

A
等于 Empty 因为尚未初始化的「不定型变量」都等于 Empty,一般用IsEmpty()判断。但如果检 A = "" A = 0 也都可以得到 True 值。
B
等于 "" 因为尚未初始化的非固定长度「字串」都等于 "" 但请注意 B<> Null
C
等于 0 这个还有问题吗?
D
等于 Nothing 尚未设定有物件的「物件变量」都等于 Nothing 但请不要使用 D = Nothing , 而要使用 D Is Nothing 来判断 D 是否等于 Nothing, 因为判断 是否相等的符号是 Is 不是 =

最令人迷惑的地方是 Null 这个保留字, 请看以下语句:
Print X = Null
Print X <> Null
结果都是输出 Null(不是 True 也不是 False) 这是因为任何一个运算式只要含有 Null 则该运算式就等于 Null 实际上想要判断某一数据是否为 Null , 绝对不能使用:
If X = Null Then '
永远都会得到 Null
而要使用:
If IsNull(X) Then
哪一种数据会等于 Null 呢? 除了含有 Null 运算式之外, 就属没有输入任何数据的「数据字段」(在数据库中) 或着数据丢失的会等于 Null. Vb.net使用数据库中,使用If IsDBNull(X).
posted on 2009-06-24 10:10  炜升  阅读(601)  评论(0编辑  收藏  举报