Concatenation Operators in Visual Basic

Concatenation operators join multiple strings into a single string. There are two concatenation operators, + and &. Both carry out the basic concatenation operation, as the following example shows.

Dim x As String = "Con" & "caten" & "ation" 
Dim y As String = "Con" + "caten" + "ation" 
' The preceding statements set both x and y to "Concatenation".

These operators can also concatenate String variables, as the following example shows.

Dim a As String = "abc" 
Dim d As String = "def" 
Dim z As String = a & d
Dim w As String = a + d
' The preceding statements set both z and w to "abcdef".

Differences Between the Two Concatenation Operators

The + Operator (Visual Basic) has the primary purpose of adding two numbers. However, it can also concatenate numeric operands with string operands. The + operator has a complex set of rules that determine whether to add, concatenate, signal a compiler error, or throw a run-time InvalidCastException exception.

The & Operator (Visual Basic) is defined only for String operands, and it always widens its operands to String, regardless of the setting of Option Strict. The & operator is recommended for string concatenation because it is defined exclusively for strings and reduces your chances of generating an unintended conversion.

Performance: String and StringBuilder

If you do a significant number of manipulations on a string, such as concatenations, deletions, and replacements, your performance might profit from the StringBuilder class in the System.Text namespace. It takes an extra instruction to create and initialize a StringBuilder object, and another instruction to convert its final value to a String, but you might recover this time because StringBuilder can perform faster.

See Also


Types of String Manipulation Methods in Visual Basic

Arithmetic Operators in Visual Basic

Comparison Operators in Visual Basic

Logical and Bitwise Operators in Visual Basic


Option Strict Statement