+= 演算子 (Visual Basic)
更新 : 2007 年 11 月
数式の値を、数値型の変数またはプロパティの値に加算し、その結果を変数またはプロパティに代入します。これを利用して、String 式を String 変数またはプロパティに連結し、その結果を変数またはプロパティに代入することもできます。
variableorproperty += expression
指定項目
variableorproperty
必ず指定します。任意の数値または String の変数またはプロパティです。expression
必ず指定します。任意の数式または文字列 (String) 式を指定します。
解説
+= 演算子の左側には、スカラ変数、プロパティ、配列の要素なども指定できます。変数またはプロパティは ReadOnly (Visual Basic) にすることはできません。+= 演算子は、右側にある値を、左側にある変数またはプロパティに代入します。
コンパイル環境に厳密な型指定規則が設定されている場合、この代入演算子は、縮小変換ではなく、暗黙的に拡大変換を実行します。これらの変換の詳細については、「拡大変換と縮小変換」を参照してください。厳密な型指定規則と寛容な型指定規則の詳細については、「Option Strict ステートメント」を参照してください。
寛容な型指定規則が適用される場合、+= 演算子は、+ 演算子と同様に、文字列と数値の暗黙の変換を実行します。各変換の詳細については、「+ 演算子 (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" になります。