加法運算子 - +
和 +=
內建的 整數 型別、浮點數 型別、字串 型別,以及 委派 型別都支援 +
和 +=
運算符。
如需算術 +
運算子的相關資訊,請參閱 一元加號和減號運算子 以及 加法運算子 + 章節的 算術運算子 文章。
字串串連
當運算元中有一個或兩個類型為 字串時,+
運算符會將運算元的字串表示法串連起來(null
的字串表示法為空字串):
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 常值字串的字串串連。 這個運算符會串連兩個 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
只會被評估一次。
下列範例示範 +=
運算子的使用方式:
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# 語言規格。