&
总是在字符串上下文中进行求值,而当操作数之一不是字符串时,+
可能不会进行拼接:
"1" + "2" => "12"
"1" + 2 => 3
1 + "2" => 3
"a" + 2 => type mismatch
这只是潜在错误的微妙来源,因此应该避免使用。&
始终表示“字符串连接”,即使它的参数不是字符串:
"1" & "2" => "12"
"1" & 2 => "12"
1 & "2" => "12"
1 & 2 => "12"
"a" & 2 => "a2"
对我来说最主要(非常有趣)的区别是:
"string" & Null
-> "string"
而
"string" + Null
-> Null
但这可能在像Access这样的数据库应用程序中更有用。
有一个concatenate函数。例如:=CONCATENATE(E2,"-",F2)但是&操作符总是连接字符串。+通常可以工作,但是如果其中一个单元格中有数字,则不能按预期工作。
13 & "2"
?那会是132
吗? - Adjit