+= 演算子 (C# リファレンス)+= Operator (C# Reference)

加算代入演算子です。The addition assignment operator.

次のような += 演算子を使用する式があるとしますAn expression using the += operator, such as

x += y

上記の式は、次の式と同じです。is equivalent to

x = x + y

ただし、x が評価されるのは 1 回だけです。except that x is only evaluated once.

数値型の場合、加算演算子 + によってそのオペランドの合計が計算されます。For numeric types, the addition operator + computes the sum of its operands. 一方または両方のオペランドが文字列型である場合、そのオペランドの文字列表現を連結します。If one or both operands is of type string, it concatenates the string representations of its operands. デリゲート型の場合、+ 演算子によって、そのオペランドの組み合わせである新しいデリゲート インスタンスが返されます。For delegate types, the + operator returns a new delegate instance that is combination of its operands.

イベントをサブスクライブするとき、+= 演算子を使用してイベント ハンドラー メソッドを指定することもできます。You also use the += operator to specify an event handler method when you subscribe to an event. 詳細については、「方法 :イベント サブスクリプションとサブスクリプションの解除」を参照してください。For more information, see How to: Subscribe to and Unsubscribe from Events.

+= 演算子の使用例を次に示します。The following example demonstrates the usage of the += operator:

int a = 5;
a += 9;
Console.WriteLine(a);
// Output: 14

string story = "Start. ";
story += "End.";
Console.WriteLine(story);
// Output: Start. End.

Action<int> printer = (int s) => Console.WriteLine(s);
printer += (int s) => Console.WriteLine(2 * s);
printer(3);
// Output:
// 3
// 6

演算子のオーバーロード可/不可Operator overloadability

ユーザー定義型により加算演算子 +オーバーロードされる場合、加算代入演算子 += が暗黙的にオーバーロードされます。If a user-defined type overloads the addition operator +, the addition assignment operator += is implicitly overloaded. ユーザー定義型は、加算代入演算子を明示的にオーバー ロードできません。A user-defined type cannot explicitly overload the addition assignment operator.

C# 言語仕様C# language specification

詳細については、「C# 言語仕様」の複合代入イベント代入に関するセクションを参照してください。For more information, see the Compound assignment and Event assignment sections of the C# language specification.

関連項目See also