Ampersand vs plus for concatenating strings in VB.NET [duplicate]
Solution 1:
Microsoft's preference is for VB programmers to use &
for strings and not +
.
You can also use the + operator to concatenate strings. However, to eliminate ambiguity, you should use the & operator instead.
Solution 2:
I've heard good, strong arguments in favor of both operators. Which argument wins the day depends largely on your situation. The one thing I can say is that you should standardize on one or the other. Code that mixes the two is asking for confusion later.
The two arguments I remember right now for favoring &
:
- If you're not using
Option Strict
and have two numeric strings, it's easy for the compiler to confuse your meaning of of the+
operator with, you know, arithmetic addition - If you're updating a lot of older vb6-era code it helps not to have to convert the concatenation operators ( and remember: we want consistency).
And for +
:
- If you have a mixed vb/C# shop, it's nice to only have one concatenation operator. It makes it easier to move code between languages and means just that much less of a context switch for programmers when moving back and forth between languages
-
&
is almost unique to VB, while+
between strings is understood in many languages to mean concatenation, so you gain a little something in readability.