&
在 VB.NET 中,使用连接字符串而不是连接字符串有什么好处+
?
例如
Dim x as String = "hello" + " there"
对比
Dim x as String = "hello" & " there"
是的,我知道很多我想使用的字符串连接StringBuilder
,但这更像是一个普遍的问题。
&
在 VB.NET 中,使用连接字符串而不是连接字符串有什么好处+
?
例如
Dim x as String = "hello" + " there"
对比
Dim x as String = "hello" & " there"
是的,我知道很多我想使用的字符串连接StringBuilder
,但这更像是一个普遍的问题。
Microsoft 的偏好是 VB 程序员使用&
字符串而不是+
.
您还可以使用 + 运算符连接字符串。但是,为了消除歧义,您应该改用 & 运算符。
我听到了支持这两个运营商的有力的论据。哪一个论点获胜很大程度上取决于你的情况。我可以说的一件事是你应该标准化其中之一。将两者混合的代码稍后会要求混淆。
我现在记得的两个赞成的论点&
:
Option Strict
并且有两个数字字符串,编译器很容易将+
运算符的含义与算术加法混淆对于+
:
&
几乎是 VB 独有的,而+
在许多语言中,字符串之间的意思是连接,因此您在可读性方面有所收获。我更喜欢&
在 VB.NET 中使用字符串连接
这样做的一个原因是为了避免任何混淆,例如
MessageBox.Show(1 & 2) ' "12"
MessageBox.Show(1 + 2) ' 3
使用 & 更安全,因为您向编译器明确了您的意图(我想连接这两个值,它们都应该转换为字符串)。
如果字符串是数值,则使用 + 可能会导致难以找到错误,至少在选项 strict 关闭的情况下。
例如:
1 + "1" = 2 ' this fails if option strict is on
1 & "1" = 11
编辑:虽然如果你连接一个非字符串,你可能应该使用一些更好的方法。
我想这是历史原因(非 .NET Visual Basic 使用 &,不知道他们为什么引入 +)和品味问题(我更喜欢 &,因为我们连接字符串,我们不添加它们......)。