+= 演算子 (Visual Basic)
数式の値を、数値型の変数またはプロパティの値に加算し、その結果を変数またはプロパティに代入します。 これを利用して、String 式を String 変数またはプロパティに連結し、その結果を変数またはプロパティに代入することもできます。
variableorproperty += expression
指定項目
variableorproperty
必ず指定します。 任意の数値または String の変数またはプロパティです。expression
必ず指定します。 任意の数式または文字列 (String) 式を指定します。
解説
+= 演算子の左側には、スカラー変数、プロパティ、配列の要素なども指定できます。 変数またはプロパティは ReadOnly (Visual Basic) にすることはできません。
変数に += の演算子は右辺の値を左辺のプロパティを追加しその結果を左辺の変数またはプロパティに代入します。 または += の演算子が String の変数に対する String の式を左辺のプロパティを連結するために使用できる結果を左辺の変数またはプロパティに代入します。
注意
+= 演算子を使用すると、加算と文字列連結のどちらが行われるのか、事前にはわかりにくい場合があります。連結に &= 演算子を使用することで、あいまいさがなくなり、プログラムの可読性が向上します。
コンパイル環境に厳密な型指定規則が設定されている場合、この代入演算子は、縮小変換ではなく、暗黙的に拡大変換を実行します。 これらの変換の詳細については、「拡大変換と縮小変換 (Visual Basic)」を参照してください。 厳密な型指定規則と寛容な型指定規則の詳細については、「Option Strict ステートメント」を参照してください。
寛容な型指定規則が適用される場合、+= 演算子は、+ 演算子と同様に、文字列と数値の暗黙の変換を実行します。 各変換の詳細については、「+ 演算子 (Visual Basic)」を参照してください。
オーバーロード
+ 演算子は オーバーロード できます。つまり、オペランドがそのクラスまたは構造体の型であれば、クラスまたは構造体がこの動作を再定義できます。 + 演算子をオーバーロードすると、+= 演算子の動作に影響します。 + をオーバーロードしているクラスまたは構造体で += を使用している場合、再定義された動作を確認してください。 詳細については、「演算子プロシージャ (Visual Basic)」を参照してください。
使用例
次の例では、+= 演算子を使って 2 つの変数の値を結合します。 前半では、+= を使って最初の数値変数の値を 2 番目の数値変数の値に加算します。 後半では、+= を使って最初の String 変数の値を 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" になります。