次の方法で共有


加算演算子 - ++=

演算子と 演算子は、組み込みの 整数浮動小数点 数値型、文字列 型、およびデリゲート 型 サポートされています。

算術 + 演算子の詳細については、「算術演算子 記事の 単項プラスおよびマイナス演算子の加算演算子 +」セクションを参照してください。

文字列連結

一方または両方のオペランドが文字列型の場合、 演算子はそのオペランドの文字列表現を連結します ( の文字列表現は空の文字列です)。

Console.WriteLine("Forgot" + "white space");
Console.WriteLine("Probably the oldest constant: " + Math.PI);
Console.WriteLine(null + "Nothing to add.");
// Output:
// Forgotwhite space
// Probably the oldest constant: 3.14159265358979
// Nothing to add.

文字列補間 を使用すると、文字列を書式設定する便利な方法が提供されます。

Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14

プレースホルダーに使用されるすべての式が定数文字列でもある場合は、文字列補間を使用して定数文字列を初期化できます。

C# 11 以降では、+ 演算子は UTF-8 リテラル文字列の文字列連結を実行します。 この演算子は、2 つの ReadOnlySpan<byte> オブジェクトを連結します。

デリゲートの組み合わせ

同じ デリゲート 型のオペランドの場合、+ 演算子は、呼び出されると左側のオペランドを呼び出し、右側のオペランドを呼び出す新しいデリゲート インスタンスを返します。 いずれかのオペランドが nullされている場合、+ 演算子は別のオペランドの値を返します (nullこともあります)。 次の例は、デリゲートを + 演算子と組み合わせる方法を示しています。

Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab();  // output: ab

デリゲートの削除を実行するには、- 演算子を使用します。

デリゲート型の詳細については、「デリゲートの」を参照してください。

加算代入演算子 +=

+= 演算子を使用する式 (例:

x += y

次に相当します。

x = x + y

ただし、x は 1 回だけ評価されます。

次の例では、+= 演算子の使用方法を示します。

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

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

Action printer = () => Console.Write("a");
printer();  // output: a

Console.WriteLine();
printer += () => Console.Write("b");
printer();  // output: ab

また、+= 演算子を使用して、イベントをサブスクライブするときにイベント ハンドラー メソッドを指定します。 詳細については、「方法: イベント サブスクリプションとサブスクリプションの解除」を参照してください。

演算子のオーバーロード可能性

ユーザー定義型は + 演算子をオーバーロードできます。 バイナリ + 演算子がオーバーロードされると、+= 演算子も暗黙的にオーバーロードされます。 ユーザー定義型は、+= 演算子を明示的にオーバーロードできません。

C# 言語仕様

詳細については、C# 言語仕様の「単項プラス演算子の加算演算子の」セクションを参照してください。

関連項目