Vba vbNullString和“vbNullString”之间有什么区别吗&引用;?

Vba vbNullString和“vbNullString”之间有什么区别吗&引用;?,vba,Vba,在VBA中,如果将字符串或类似内容与vbNullString进行比较,而不是与空字符串进行比较,会有什么区别吗“”?如果是这样,两者之间有什么区别?指出,将“赋值给变量将使用6个字节的内存,而使用vbNullString将不会使用任何内存 就个人而言,我更喜欢评估字符串的长度。如果长度为0,则我们还得出结论,该字符串是vbNullString或“”。此方法被认为是检查vbNullString的最快方法 If Len(string) = 0 Then 您可以阅读LenvsvbNullString

在VBA中,如果将字符串或类似内容与
vbNullString
进行比较,而不是与空字符串进行比较,会有什么区别吗<代码>“”?如果是这样,两者之间有什么区别?

指出,将
赋值给变量将使用6个字节的内存,而使用
vbNullString
将不会使用任何内存

就个人而言,我更喜欢评估字符串的长度。如果长度为0,则我们还得出结论,该字符串是
vbNullString
“”
。此方法被认为是检查
vbNullString
的最快方法

If Len(string) = 0 Then

您可以阅读
Len
vs
vbNullString
vs
比较。

vbNullString
是不同的。这是一个描述内存使用差异的网页练习


“这是清除字符串变量的常用方法

Text$ = ""
“浪费了!首先,字符串<代码>”“/CODE”每次使用它都需要6字节的RAM。考虑备选方案:

Text$ = vbNullString
这是什么?
vbNullString
是一个特殊的VB常量,表示空字符串。
文本是一个空字符串。有一个重要的区别。空字符串是一个实字符串。空字符串不是。它只是一个零。如果你懂C语言,
vbNullString
就是空字符串的等价物

在大多数情况下,
vbNullString
相当于VB中的
。唯一实际的区别是
vbNullString
分配和处理速度更快,占用内存更少

如果调用某些非VB API或组件,请在分发应用程序之前使用
vbNullString
测试调用。您调用的函数可能不会检查空字符串,在这种情况下可能会崩溃。非VB函数应在处理字符串参数之前检查空值。如果运气不好,您调用的特定函数ing不能做到这一点。在这种情况下,请使用
。通常API确实支持
vbNullString
,它们甚至可以使用它执行得更好


本文的其余部分提供了关于优化字符串的其他信息,这些信息可能也很有见地


完整网页:

看起来不错,除非其他人提供更多信息,否则我会将此标记为解决方案。然而,您链接到的最后一篇文章表明存在差异,尽管作者不知道这是什么。当然,它可以像您在前面的回答中指出的那样,简单到分配给变量时占用的内存。有一点不同,
是长度为零的现有字符串,
vbNullString
是类型为
string
的空指针(不指向字符串)。为了比较VB,但有时你想。第二个链接已经死了:见Rob Bovey在