在每个谈论 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 回答