Additionsoperatoren – +
und +=
Die Operatoren +
und +=
werden von den integrierten numerischen integral- und floating-point-Typen sowie den string- und delegate-Typen unterstützt.
Informationen zum arithmetischen Operator +
finden Sie in den Abschnitten Unäre Plus- und Minusoperatoren und Additionsoperator + des Artikels Arithmetische Operatoren (C#-Referenz).
Zeichenfolgenverkettung
Wenn ein Operand oder beide Operanden vom Typ String sind, verkettet der +
-Operator die Zeichenfolgendarstellungen der Operanden (die Zeichenfolgendarstellung von null
is eine leere Zeichenfolge):
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.
Die Zeichenfolgeninterpolation bietet eine praktischere Möglichkeit zum Formatieren von Zeichenfolgen:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Ab C# 10 können Sie die Zeichenfolgeninterpolation verwenden, um eine konstante Zeichenfolge zu initialisieren, wenn alle für Platzhalter verwendeten Ausdrücke auch konstante Zeichenfolgen sind.
Ab C# 11 führt der +
-Operator eine Zeichenfolgenverkettung für UTF-8-Literalzeichenfolgen aus. Dieser Operator verkettet zwei ReadOnlySpan<byte>
-Objekte.
Kombinieren von Delegaten
Für Operanden des gleichen Delegattyps gibt der Operator +
eine neue Delegatinstanz zurück, die bei Aufruf den linken Operanden und dann den rechten Operanden aufruft. Wenn einer der Operanden null
lautet, gibt der +
-Operator den Wert eines anderen Operanden zurück (der ggf. ebenfalls null
ist). Das folgende Beispiel zeigt, wie Delegaten mit dem +
-Operator kombiniert werden können:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Um eine Delegatentfernung auszuführen, verwenden Sie den -
-Operator.
Weitere Informationen zu Delegattypen finden Sie unter Delegaten.
Additionszuweisungsoperator (+=)
Ein Ausdruck mit dem Operator +=
, z.B.
x += y
für die folgende Syntax:
x = x + y
außer dass x
nur einmal überprüft wird.
Im folgenden Beispiel wird die Verwendung des +=
-Operators veranschaulicht:
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
Sie verwenden den +=
-Operator auch, um eine Ereignishandlermethode anzugeben, wenn Sie ein Ereignis abonnieren. Weitere Informationen finden Sie unter Vorgehensweise: Abonnieren von Ereignissen und Kündigen von Ereignisabonnements.
Operatorüberladbarkeit
Ein benutzerdefinierter Typ kann den Operator +
überladen. Wenn ein binärer Operator vom Typ +
überladen wird, wird der Operator +=
implizit ebenfalls überladen. Ein benutzerdefinierter Typ kann den Operator +=
nicht explizit überladen.
C#-Sprachspezifikation
Weitere Informationen finden Sie unter C#-Sprachspezifikation in den Abschnitten Unärer Plusoperator und Additionsoperator.