Vb6 空变量="&引用;计算结果为空?

Vb6 空变量="&引用;计算结果为空?,vb6,Vb6,我有一个等于Null的变量,但如果我问它是否等于“”,它的计算结果是Null?为什么不是假的 var1 = vbNull Debug.Print var1 = "" 输出为Null。为什么它不会是false呢?VB6有。任何涉及Null的表达式的结果始终为Null ' in this code below V always has the value Null Dim V As Variant V = 1 + Null V = Null + Right$("SomeText", 1) V =

我有一个等于Null的变量,但如果我问它是否等于“”,它的计算结果是Null?为什么不是假的

var1 = vbNull
Debug.Print var1 = ""
输出为
Null
。为什么它不会是false呢?

VB6有。任何涉及
Null
的表达式的结果始终为Null

' in this code below V always has the value Null
Dim V As Variant
V = 1 + Null
V = Null + Right$("SomeText", 1)
V = Right("SomeText", 0)

我忘记了VB,但在许多语言中,单个“=”是一个赋值,而“==”是一个相等检查。另外,请看“聪明的引语”。“为什么”不是一个正确的问题。唯一的答案是“因为这就是=的实现方式”。@CraigJ-正如文章链接所指出的,空传播通常用于数据库应用程序中。VB6是从VBA(Visual Basic for Applications)演变而来的,VBA的开发考虑到了Microsoft Office自动化的需要,其中包括Access数据库应用程序。当时这似乎是个好主意:)维基百科指出,Visual Basic最初是一个GUI界面模块(代号为“Ruby”),与“为微软废弃的“Omega”数据库系统设计的嵌入式Basic引擎”相结合。因此,VB似乎从一开始就是为DB应用程序设计的。@rskar我不认为VB6是从VBA演变而来的。这可能是另一种情况。@CJ7您在技术上是正确的,因为VB1.0是它自己的东西。但我们似乎要感谢乔尔·斯波尔斯基(Joel Spolsky)所采取的大部分方向();他想要一个VB for Excel,其中包含
变量
用于每个
,以及
带有
。VBA与VB3.0同时问世;VB2.0引入了
变体
()。