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,代码将引发一个错误,并且“将不会执行某些操作”

当初始化变量时,一个 数值变量初始化为0, 可以使用可变长度字符串 初始化为零长度字符串 (“”),并指定一个固定长度的字符串 充满了零。变量 已初始化为空。每个元素 用户定义类型变量的 将其初始化为一个单独的 变数

从中,我会假设,如果
myvar
不是“”,那么
做点什么
。我不确定,现在不能检查,但你可以自己检查

当已声明变量但 未指定值,它包含 特殊值为空。你可以测试一下 这将与IsEmpty函数一起使用
...
如果 空变量用于 表达式,它将作为 值0或空字符串 取决于表达式。


+1提醒您,如果内存可用,空变量将被强制为字符串
或数字
0
,如果
someValue
被分配了
Nothing
,或者是其默认属性产生
Nothing
的对象,则上述代码将崩溃,等等。由于not equals运算符将进行比较,请注意
someValue
的类型是
对象
,请尝试获取其默认属性,然后尝试进行比较(如果需要,请获取其默认属性等),因为尝试获取
Nothing
的默认属性将失败,代码将崩溃。@supercat问题说“此变量从未赋值”。因此,由于这是VB6,因此它将包含空的(与无不同)。因此,对于除空、0或“”之外的任何somevalue,“将执行某些操作”。该问题假定从未为
myVar
赋值,并询问所示语句将执行的
somevalue
的值。我不确定如果下一次错误恢复时的
有效,会发生什么,但如果无效,我很确定当
someValue
Nothing
时,
做点什么
代码不会执行。哦!现在我已经正确地阅读了你的第一条评论。是的,你可能是对的。我据此编辑了我的答案。