2010-11-26 77 views

回答

6
  • 默认值是Empty
  • “会做某件事”为任意值,除了Empty0"" ...
    • ...的什么值钱的东西,代码将引发错误和“东西不会做”。

VB6 documentation

当变量被初始化,一个 数值变量被初始化为0, 一个可变长度的字符串是 初始化为零长度字符串 (” “),并且一个固定长度的字符串是 填充了零。变量变量 被初始化为空。用户定义类型变量的每个元素 初始化为 ,就好像它是单独的 变量。

+1

如果内存服务,如果`someValue`的值为Nothing,或者是默认属性产生Nothing的对象等,则上面的代码会崩溃,因为不等于运算符会比较注意`someValue`的类型是`Object`,尝试获取它的默认属性,然后尝试比较它(如果需要,则获取的默认属性等)。由于试图获取默认属性“Nothing `会失败,代码会崩溃。 – supercat 2012-11-21 19:18:13

+0

@supercat问题说“这个变量永远不会被分配一个值”。因此,因为这是VB6它将包含空(与Nothing不同)。因此,除了Empty,0或“” – MarkJ 2012-11-21 20:15:00

4

Get the most out of Variants in VB6我会做一个假设,如果myvar不是“”,然后do something。我不确定,现在无法检查,但可以自己检查。

当一个变种已宣告但 未分配的值,它包含了 特殊值空。您可以测试与IsEmpty函数
这...
如果 一个空的变体在 表达式中使用,就被当作要么 值为0或取决于表达一个空字符串 。