【发布时间】:2011-05-16 02:45:09
【问题描述】:
我正在处理一些旧代码,它定义了一个像这样的全局变量...
Public myvar
这个变量永远不会被赋值,但后来在测试中使用......
If myvar <> somevalue then
'do something
End If
对于 somevalue 的什么值会做某事?
【问题讨论】:
标签: vb6
我正在处理一些旧代码,它定义了一个像这样的全局变量...
Public myvar
这个变量永远不会被赋值,但后来在测试中使用......
If myvar <> somevalue then
'do something
End If
对于 somevalue 的什么值会做某事?
【问题讨论】:
标签: vb6
Empty。 Empty、0 或"" 之外的任何值都将执行“某些操作”...
当变量被初始化时,一个 数值变量初始化为 0, 可变长度字符串是 初始化为长度为零的字符串 (""),一个固定长度的字符串是 用零填充。变体变量 被初始化为空。每个元素 一个用户定义的类型变量是 初始化就好像它是一个单独的 变量。
【讨论】:
someValue 被赋值为Nothing,或者是一个默认属性产生Nothing 的对象,则上面的代码将崩溃,等等,因为不等于运算符会比较注意到someValue 的类型是Object,尝试获取其默认属性,然后尝试比较它(如果需要,获取 its 默认属性等)获取Nothing的默认属性会失败,代码会崩溃。
myVar 从未被赋值,并询问someValue 的哪些值将执行指示的语句。我不确定如果On Error Resume Next 生效会发生什么,但如果不是,我很确定someValue 是Nothing 时do something 代码不会执行。
从Get the most out of Variants in VB6 我会假设如果myvar 不是“”,那么do something。我不确定,现在无法检查,但您可以自己检查。
当一个 Variant 已声明但 没有赋值,它包含 特殊值 空。你可以测试 这与 IsEmpty 函数
...
如果 一个空的 Variant 用于 表达式,它将评估为 值 0 或空字符串 取决于表达式。
【讨论】:
"" 的字符串或 0 的数字