VBScript的+和&运算符有什么区别?

Jer*_*ron 33 string vbscript string-concatenation

在每个讨论VBScript的站点上,' &'运算符被列为字符串连接运算符.但是,在我最近继承的一些代码中,我看到' +'运算符正在使用,我没有看到任何错误.这是一个公认的替代方案吗

Rob*_*vey 42

+运算符是重载的,而&运算符则不是.&运算符只进行字符串连接.在某些圆圈中,&运算符被用作最佳实践,因为它是明确的,因此不会因为重载而产生任何意外的影响.

  • VB中的@wolf +运算符可以根据上下文进行加法和连接. (5认同)

Hel*_*len 40

&运营商做字符串连接,也就是强制操作数转换为字符串(如调用CStr它们在前).+反过来,如果其中一个表达式是数字,则强制加法.例如:

1 & 2
Run Code Online (Sandbox Code Playgroud)

给你12,而

1 + 2
"1" + 2
1 + "2"
Run Code Online (Sandbox Code Playgroud)

给你3.

因此,建议使用&字符串连接,因为它消除了歧义.

  • +1用于指定字符串编号+编号.接受的答案没有提到将数字字符串转换为数字的vbscript. (6认同)

EFr*_*aim 7

+当字符串可以解释为数字时,运算符可能适得其反.如果你不想要令人讨厌的惊喜,请使用&来连接字符串.