2010-07-29 164 views

回答

4

只要操作数是字符串,表达式是相同的;如果没有,+可能会添加它们,具体取决于类型转换。 &保证你除了字符串连接外不会得到任何东西,并且如果可能的话将操作数转换为字符串。

有大约Concatenation operations in Visual Basic的MSDN条目解释它:

的&运算符(Visual Basic中)仅用于字符串操作数定义的,它总是扩大其操作数字符串,不管选项严格的设置。推荐使用&运算符进行字符串连接,因为它是专门为字符串定义的,并降低了产生意外转换的机会。

+3

考虑与字符串连接的空值如果其中一个值为空,那么表达式即使对于字符串也不相同。 – Fionnuala 2010-07-29 17:31:15

+0

MSDN文章是关于Visual Basic的,但我想这在VBA中同样适用?没有VBA文档页面,或者它是? – 2015-12-24 22:27:20

2

这两个表达式是等价的,但操作符不是。 +可以用作算术运算符以及字符串连接,&只能用于后者。

+0

好的,那为什么还有? – 2010-07-29 17:14:31

+0

他们有不同的行为,请参阅['+'运算符](http://msdn.microsoft.com/en-us/library/9c5t70w2%28v=VS.80%29.aspx)与['&'运算符] (http://msdn.microsoft.com/en-us/library/wfx50zyk%28v=VS.80%29.aspx)。 – 2010-07-29 17:20:11

+0

使用+ – Fionnuala 2010-07-29 17:32:29