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

本文探讨了VBA中变量A、B、C、D分别初始化为空、空字符串、0及未赋值对象的情况,并详细解释了0、、Null、Empty与Nothing之间的区别。此外还介绍了如何正确判断这些特殊值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久前寫的東西,稍加整理
 
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).

转载于:https://www.cnblogs.com/iswszheng/archive/2009/06/24/1509979.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值