在VB.NET中,使用&
连接字符串而不是+
是否有任何好处?
例如
Dim x as String = "hello" + " there"
VS
Dim x as String = "hello" & " there"
是的,我知道有很多字符串连接我想使用StringBuilder
,但这更像是一个普遍的问题。
答案 0 :(得分:40)
我听到了有利于两家运营商的良好,强有力的论据。哪一个赢得胜利的主要取决于你的情况。我可以说的一件事是你应该在一个或另一个上标准化。混合这两者的代码后来要求混淆。
我现在记得赞成&
的两个论点:
Option Strict
并且有两个数字字符串,那么编译器很容易混淆+
运算符的含义,你知道,算术加法对于+
:
&
几乎是VB独有的,而字符串之间的+
在许多语言中被理解为连接,因此您可以获得一些可读性。答案 1 :(得分:40)
Micorosoft的preference适用于VB程序员使用&对于字符串,不是+。
您也可以使用+运算符来连接字符串。但是,要消除歧义,你应该使用&而不是运营商。
答案 2 :(得分:12)
我更喜欢在VB.NET中使用&
进行字符串连接
这样做的一个原因是避免任何混淆,例如
MessageBox.Show(1 & 2) ' "12"
MessageBox.Show(1 + 2) ' 3
答案 3 :(得分:10)
使用&更安全因为你对编译器明确了你的意图(我想连接这两个值,它们都应该转换成字符串)。
如果字符串是数值,使用+会导致难以发现错误,至少如果禁用选项strict。
例如:
1 + "1" = 2 ' this fails if option strict is on
1 & "1" = 11
编辑:虽然如果你要连接一个非字符串,你应该使用一些更好的方法。
答案 4 :(得分:5)
我认为它是历史的(非.NET Visual Basic使用&amp ;,不确定为什么他们引入了+)和品味问题(我更喜欢&因为我们连接字符串,我们不添加它们...... )。