gpt4 book ai didi

string - 字符串连接的 '+' 和 '&' 之间有什么区别吗?

转载 作者:行者123 更新时间:2023-12-01 00:53:19 25 4
gpt4 key购买 nike

我最近意识到 VBA 也支持运算符 +连接 String类型,不仅& .
因此,如果

Dim a As String, b As String
a = "Stack "
b = "Overflow"

以下语句将产生相同的结果:
>> a + b '--> "Stack Overflow"
>> a & b '--> "Stack Overflow"

在我有限的经验中,我从未在任何语言中发现两个运算符在做 总是 同样的事情。我觉得 VBA 倾向于合并到其他常用语言(仅使用 + 来连接字符串)但仍然支持 &适用于老式 VB 开发人员。

但这听起来不像技术解释,所以我想问以下问题:这两个运营商之间有什么实际区别吗?是否使用 + 的情况而不是 &产生不同的结果?

我想到了什么

我想到了一个可能的“类似答案”,但在网络上的任何地方都找不到它的灵感来自 JavaScript,您可以在其中使用 =====几乎所有地方都具有相同的行为,除了恒等 (===) 运算符的行为与相等 (==) 运算符的行为相同,只是不进行类型转换,并且类型必须相同才能被视为相等。

最佳答案

好的,我找到了。尝试这个:

Debug.Print "3" + 4 '--> 7

并将其与此进行比较:
Debug.Print "3" & 4 '--> "34"

啊!现在看出区别了吗? &的选择对比 +影响它将这些表达式的操作数强制转换为的默认类型。
+将尝试转换 StringNumeric并且,如果可能的话,会这样对待他们。 & ,另一方面,将继续将元素视为 String即使它们都可以在 Numeric 中转换.

关于string - 字符串连接的 '+' 和 '&' 之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com