Tilläggsoperatorer – +
och +=
Operatorerna +
och +=
stöds av de inbyggda numeriska typerna integral och flyttalstyp , strängtyp och ombudstyper .
Information om den aritmetiska +
operatorn finns i avsnitten Unary plus och minus operator och Addition operator + i artikeln Aritmetiska operatorer.
Strängsammanfogning
När en eller båda operanderna är av typen sträng sammanfogar operatorn +
strängrepresentationerna av dess operander (strängrepresentationen av null
är en tom sträng):
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.
Stränginterpolation är ett enklare sätt att formatera strängar:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Från och med C# 10 kan du använda stränginterpolation för att initiera en konstant sträng när alla uttryck som används för platshållare också är konstanta strängar.
Från och med C# 11 utför operatorn +
strängsammanfogning för UTF-8-literalsträngar. Den här operatorn sammanfogar två ReadOnlySpan<byte>
objekt.
Delegera kombination
För operander av samma delegattyp returnerar operatorn +
en ny delegatinstans som anropar den vänstra operanden när den anropas och sedan anropar den högra operanden. Om någon av operanderna är null
returnerar operatorn +
värdet för en annan operand (som också kan vara null
). I följande exempel visas hur ombud kan kombineras med operatorn +
:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab(); // output: ab
Använd operatorn för att utföra borttagning av -
ombud.
Mer information om ombudstyper finns i Ombud.
Additionstilldelningsoperator +=
Ett uttryck som använder operatorn +=
, till exempel
x += y
motsvarar
x = x + y
förutom att x
endast utvärderas en gång.
I följande exempel visas hur operatorn +=
används:
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
Du använder också operatorn +=
för att ange en händelsehanterarmetod när du prenumererar på en händelse. Mer information finns i Så här: prenumerera på och avsluta prenumerationen på händelser.
Överlagring av operator
En användardefinierad typ kan överbelasta operatorn +
. När en binär +
operator är överbelastad är operatorn +=
också implicit överbelastad. En användardefinierad typ kan inte uttryckligen överbelasta operatorn +=
.
Språkspecifikation för C#
Mer information finns i avsnitten Unary plus operator och Addition-operator iC#-språkspecifikationen.