+= 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.

variableorproperty += expression


  • variableorproperty
    Required. Any numeric or String variable or property.

  • expression
    Required. Any numeric or String expression.


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 ReadOnly (Visual Basic). 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 Widening and Narrowing Conversions. For more information on strict and permissive semantics, see Option Strict Statement.

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 + Operator (Visual Basic).


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 Operator Procedures.


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".

See Also


Assignment Statements


+ Operator (Visual Basic)

Assignment Operators

Arithmetic Operators (Visual Basic)

Concatenation Operators (Visual Basic)

Operator Precedence in Visual Basic

Operators Listed by Functionality