VB6中未设置变量的默认值是什么?
我正在使用一些旧代码,它定义了一个全局变量,如下所示VB6中未设置变量的默认值是什么?,vb6,Vb6,我正在使用一些旧代码,它定义了一个全局变量,如下所示 Public myvar 此变量从未指定值,但稍后将在测试中使用 If myvar <> somevalue then 'do something End If 如果myvar值为,则 “做点什么 如果结束 什么样的价值观才会有价值呢? 默认值为空 对于除空、0或以外的任何值,“将执行某些操作”。。。 。。。对于值Nothing,代码将引发一个错误,并且“将不会执行某些操作” 从 当初始化变量时,一个 数值变量
Public myvar
此变量从未指定值,但稍后将在测试中使用
If myvar <> somevalue then
'do something
End If
如果myvar值为,则
“做点什么
如果结束
什么样的价值观才会有价值呢?- 默认值为
李>空
- 对于除
、空
或0
。。。以外的任何值,“将执行某些操作”
- 。。。对于值Nothing,代码将引发一个错误,并且“将不会执行某些操作”李>
myvar
不是“”,那么做点什么
。我不确定,现在不能检查,但你可以自己检查
当已声明变量但
未指定值,它包含
特殊值为空。你可以测试一下
这将与IsEmpty函数一起使用...
如果 空变量用于 表达式,它将作为 值0或空字符串 取决于表达式。
+1提醒您,如果内存可用,空变量将被强制为字符串
”
或数字0
,如果someValue
被分配了Nothing
,或者是其默认属性产生Nothing
的对象,则上述代码将崩溃,等等。由于not equals运算符将进行比较,请注意someValue
的类型是对象
,请尝试获取其默认属性,然后尝试进行比较(如果需要,请获取其默认属性等),因为尝试获取Nothing
的默认属性将失败,代码将崩溃。@supercat问题说“此变量从未赋值”。因此,由于这是VB6,因此它将包含空的(与无不同)。因此,对于除空、0或“”之外的任何somevalue,“将执行某些操作”。该问题假定从未为myVar
赋值,并询问所示语句将执行的somevalue
的值。我不确定如果下一次错误恢复时的有效,会发生什么,但如果无效,我很确定当someValue
为Nothing
时,做点什么
代码不会执行。哦!现在我已经正确地阅读了你的第一条评论。是的,你可能是对的。我据此编辑了我的答案。