2010-07-29 292 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