+= 演算子 (Visual Basic)

数値式の値を数値変数またはプロパティの値に加算し、結果をその変数またはプロパティに代入します。 また、String 式を String 変数またはプロパティに連結し、結果をその変数またはプロパティに代入するために使用することもできます。

構文

variableorproperty += expression  

指定項目

variableorproperty
必須です。 任意の数値または String 変数またはプロパティ。

expression
必須です。 任意の数値または String 式。

Remarks

+= 演算子の左側の要素には、単純なスカラー変数、プロパティ、または配列の要素を指定できます。 変数またはプロパティを ReadOnly にすることはできません。

+= 演算子は、右側の値を左側の変数またはプロパティに追加し、その結果を左側の変数またはプロパティに代入します。 += 演算子を使用して、右側の String 式を左側の String 変数またはプロパティに連結し、その結果を左側の変数またはプロパティに代入することもできます。

Note

+= 演算子を使用すると、加算と文字列連結のどちらが発生するか判断できない可能性があります。 あいまいさをなくし、自己文書化コードを実現するために、連結には &= 演算子を使用してください。

コンパイル環境で厳密なセマンティクスが適用されている場合、この代入演算子は拡大変換を暗黙的に実行しますが、縮小変換は実行しません。 これらの変換の詳細については、「拡大変換と縮小変換」を参照してください。 厳密なセマンティクスおよび寛容なセマンティクスの詳細については、「Option Strict ステートメント」を参照してください。

寛容なセマンティクスが許可されている場合、+= 演算子は、+ 演算子によって実行されるものと同じ各種変換 (文字列変換および数値変換) を暗黙的に実行します。 これらの変換の詳細については、「+ 演算子」を参照してください。

オーバーロード

+ 演算子は "オーバーロード" できます。つまり、オペランドの型がクラスまたは構造体であるとき、そのクラスまたは構造体で、演算子の動作を再定義できます。 + 演算子をオーバーロードすると、+= 演算子の動作に影響します。 コードで、+ をオーバーロードするクラスまたは構造体で += を使用する場合は、再定義された動作を理解していることを確認してください。 詳細については、「 Operator Procedures」を参照してください。

次の例では、+= 演算子を使用して、ある変数の値を別の値と結合します。 最初の部分では += を数値変数と共に使用して、ある値を別の値に追加します。 2 番目の部分では、+=String 変数と共に使用して、ある値を別の値と連結します。 どちらの場合も、結果は最初の変数に代入されます。

' 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

num1 の値は 13 になり、str1 の値は "103" になりました。

関連項目