VB 中的这条语句是检查对象是否存在,还是检查内容是否为空?我认为它正在检查内容是否为空,但我想仔细检查一下。提前致谢。
VBA 中“null”的概念(即NullReferenceException
-null,如果您熟悉 C#,或者NullPointerException
在Java中)被关键字覆盖Nothing
。这适用于 VB6(及更早版本)以及 VB.NET。
Dim foo As Object
Debug.Print foo.Bar ' boom, the dreaded runtime error 91 shows up
所以你的解释Nothing
是正确的。
与 Java 或 C# 相反,您不能使用比较运算符 (==
在 C#/Java 中,=
在 VBA 中)进行空检查,因此相反(以类似于 SQL 的方式),您可以使用Is
关键词:
If foo Is Nothing Then ' if (foo == null) { }
或否定形式:
If Not foo Is Nothing Then ' if (foo != null) { }
请注意,这个公式是无效的,因为Nothing
不能被否定:
If foo Is Not Nothing Then ' incorrect formulation, if (foo == !null) { }
当您意识到 VBA 有一个IsNull
功能....然后还有IsEmpty
以及相应的Null
, vbNull
, Empty
and vbEmpty
值 - 但这些超出了您的问题范围,并且可以在 MSDN 和 Stack Overflow 上轻松找到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)