加算演算子 - +
と +=
算術 +
演算子の詳細については、「算術演算子 記事の 単項プラスおよびマイナス演算子の と 加算演算子 +」セクションを参照してください。
文字列連結
一方または両方のオペランドが文字列
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# 言語仕様の「単項プラス演算子の と 加算演算子の」セクションを参照してください。
関連項目
.NET