【发布时间】:2011-03-22 20:48:33
【问题描述】:
有什么区别:
string1 + string2
和
string1 & string2
它们是等价的吗?为什么有两个不同的符号做同样的事情?
【问题讨论】:
标签: vba operators concatenation
有什么区别:
string1 + string2
和
string1 & string2
它们是等价的吗?为什么有两个不同的符号做同样的事情?
【问题讨论】:
标签: vba operators concatenation
只要操作数是字符串,表达式都是一样的;如果没有,+ 可能会根据类型转换添加它们。 & 保证除了字符串连接之外你不会得到任何东西,并且会尽可能将操作数转换为字符串。
有一个关于 Concatenation operations in Visual Basic 的 MSDN 条目对此进行了解释:
& 运算符 (Visual Basic) 仅针对 String 操作数定义,它总是将其操作数扩展为 String,而不管 Option Strict 的设置如何。建议将 & 运算符用于字符串连接,因为它是专门为字符串定义的,可以减少生成意外转换的机会。
【讨论】:
这两个表达式是等价的,但运算符不是。 + 可以用作算术运算符以及字符串连接,& 只能用于后者。
【讨论】:
+ operator vs. & operator。