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 +=.
Die C#-Sprachreferenz dokumentiert die zuletzt veröffentlichte Version der C#-Sprache. Außerdem enthält sie eine erste Dokumentation zu Funktionen in der öffentlichen Vorschau für die kommende Sprachversion.
In der Dokumentation werden alle Features identifiziert, die in den letzten drei Versionen der Sprache oder in der aktuellen öffentlichen Vorschau eingeführt wurden.
Tipp
Informationen dazu, wann ein Feature erstmals in C# eingeführt wurde, finden Sie im Artikel zum Versionsverlauf der C#-Sprache.
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.
Der + Operator führt Zeichenfolgenverkettung für UTF-8-Literalzeichenfolgen aus. Dieser Operator verkettet zwei ReadOnlySpan<byte>-Objekte.
Kombinieren von Delegaten
Bei Operanden desselben Delegattyps gibt der + Operator eine neue Delegateninstanz zurück, die beim Aufrufen den linken Operanden aufruft und dann den rechten Operanden aufruft. Wenn einer der Operanden lautet null, gibt der + Operator den Wert des anderen Operanden zurück (was auch sein nullkann). Das folgende Beispiel zeigt, wie Stellvertretungen mit dem + Operator kombiniert werden können:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Verwenden Sie den - Operator, um einen Delegaten zu entfernen.
Weitere Informationen zu Delegattypen finden Sie unter Delegaten.
Additionszuweisungsoperator (+=)
Ein Ausdruck, der den += Operator verwendet, 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 Sie einen binären + Operator überladen, überladen Sie den += Operator implizit. 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 .