Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Additionsoperatoren –
Die integrierten numerischen Typen integral und floating-point, der Typ string und die delegate-Typen unterstützen alle die Operatoren +
und +=
.
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.
Zeichenfolgeninterpolation bietet eine bequemere Möglichkeit, Zeichenfolgen zu formatieren:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Sie können die Zeichenfolge-Interpolation verwenden, um eine konstante Zeichenfolge zu initialisieren, wenn alle für Platzhalter verwendeten Ausdrücke ebenfalls 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
ist, gibt der +
Operator den Wert eines anderen Operanden zurück (der auch null
sein kann). 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
Zum Entfernen von Delegaten verwenden Sie den -
Operator.
Weitere Informationen zu Delegattypen finden Sie unter Delegaten.
Additionszuweisungsoperator (+=)
Ein Ausdruck mit dem Operator +=
, z.B.
x += y
Ist äquivalent zu:
x = x + y
Außer dass x
nur einmal ausgewertet 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.
Überlastbarkeit des Operators
Ein benutzerdefinierter Typ kann den Operator +
. Wenn ein binärer +
-Operator überladen wird, wird der +=
-Operator ebenfalls implizit überladen. Ab C# 14 kann ein benutzerdefinierter Typ den +=
Operator explizit überladen, um eine effizientere Implementierung bereitzustellen. In der Regel überlastet ein Typ den +=
Operator, da der Wert direkt aktualisiert werden kann, anstatt eine neue Instanz für das Ergebnis der Ergänzung zuzuweisen. Wenn ein Typ keine explizite Überladung bereitstellt, generiert der Compiler die implizite Überladung.
C#-Sprachspezifikation
Weitere Informationen finden Sie unter C#-Sprachspezifikation in den Abschnitten Unärer Plusoperator und Additionsoperator. Weitere Informationen zum Überladen der Verbundzuordnungsoperatoren in C# 14 und höher finden Sie in der benutzerdefinierten Spezifikation der zusammengesetzten Zuordnungsfunktion .