在每个谈论 VBScript 的网站上,' &' 运算符都被列为字符串连接运算符。但是,在我最近继承的一些代码中,我看到使用了 ' +' 运算符,因此我没有看到任何错误。这是一个公认的替代方案吗?
59682 次
4 回答
45
&运算符进行字符串连接,即强制将操作数转换为字符串(就像先调用它们一样CStr)。+反过来,如果表达式之一是数字,则强制加法。例如:
1 & 2
给你12,而
1 + 2
"1" + 2
1 + "2"
给你3。
因此,建议使用&字符串连接,因为它消除了歧义。
于 2009-07-30T20:30:35.410 回答
43
+ 运算符是重载的,而 & 运算符不是。& 运算符只进行字符串连接。在某些圈子中,& 运算符被用作最佳实践,因为它是明确的,因此不会因重载而产生任何意外影响。
于 2009-07-30T19:46:52.673 回答
7
+当字符串可以解释为数字时,运算符可能会适得其反。如果您不想要令人讨厌的惊喜,请使用 & 连接字符串。
于 2009-07-30T19:46:51.160 回答
2
在某些情况下 + 会抛出异常;例如以下:
Sub SimpleObject_FloatPropertyChanging(fvalue, cancel)
'fvalue is a floating point number
MsgBox "Received Event: " + fvalue
End Sub
当 COM 对象源触发事件时,您将收到异常 - 您必须执行以下任一操作:
MsgBox "Received Event: " & fvalue
或者
MsgBox "Received Event: " + CStr(fvalue)
无论哪种情况,最好使用CStr(value); 但是根据上述注释使用 & 进行字符串连接几乎总是最佳实践。
于 2014-02-08T17:34:12.613 回答