|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
+= Operator (Visual Basic)
Adds the value of a numeric expression to the value of a numeric variable or property and assigns the result to the variable or property. Can also be used to concatenate a String expression to a String variable or property and assign the result to the variable or property.
The element on the left side of the += operator can be a simple scalar variable, a property, or an element of an array. The variable or property cannot be. The += operator assigns the value on its right to the variable or property on its left.
This assignment operator implicitly performs widening but not narrowing conversions if the compilation environment enforces strict semantics. For more information on these conversions, see. For more information on strict and permissive semantics, see .
If permissive semantics are allowed, the += operator implicitly performs a variety of string and numeric conversions identical to those performed by the + operator. For details on these conversions, see.
When you use the += operator, you might not be able to determine whether addition or string concatenation will occur. Use the &= operator for concatenation to eliminate ambiguity and to provide self-documenting code.
The + operator can be overloaded, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. Overloading the + operator affects the behavior of the += operator. If your code uses += on a class or structure that overloads +, be sure you understand its redefined behavior. For more information, see.
The following example uses the += operator to combine the value of one variable with another. The first part uses += with numeric variables to add one value to another. The second part uses += with String variables to concatenate one value with another. In both cases, the result is assigned to the first variable.
' This part uses numeric variables. Dim num1 As Integer = 10 Dim num2 As Integer = 3 num1 += num2
' This part uses string variables. Dim str1 As String = "10" Dim str2 As String = "3" str1 += str2
The value of num1 is now 13, and the value of str1 is now "103".