Freigeben über


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.

Weitere Informationen