Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Tilläggsoperatorer –
De inbyggda numeriska typerna heltal och flyttals, strängtypen och delegattyperna stöder alla + och +=-operatorerna.
Information om den aritmetiska operatorn + finns i avsnitten Unära plus- och minusoperatorer och Additionsoperatorn + i artikeln Aritmetiska operatorer.
Strängsammanfogning
När en eller båda operanderna är av typen strängsammanfogar + 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 bekvämare sätt att formatera strängar:
Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14
Du kan 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 delegat typ returnerar operatorn + en ny delegatinstans som, när den anropas, först anropar den vänstra operanden och sedan den högra operanden. Om någon av operanderna är nullreturnerar operatorn + värdet för en annan operand (som också kan vara null). I följande exempel visas hur delegeringar kan kombineras med operatorn +:
Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab();  // output: ab
Om du vill ta bort delegering använder du operatorn -.
Mer information om ombudstyper finns i Ombud.
Additionstilldelningsoperator +=
Ett uttryck med operatorn +=, till exempel
x += y
Motsvarar:
x = x + y
Förutom att x bara utvärderas en gång.
I följande exempel visas användningen av operatorn +=:
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 överlagra+-operatorn. När en binär + operator är överbelastad är += operatorn också implicit överbelastad. Från och med C# 14 kan en användardefinierad typ uttryckligen överbelasta operatorn += för att ge en effektivare implementering. Vanligtvis överbelastar en typ operatorn += eftersom värdet kan uppdateras på plats, i stället för att allokera en ny instans för att lagra resultatet av tillägget. Om en typ inte ger någon explicit överlagring genererar kompilatorn den implicita överbelastningen.
Språkspecifikation för C#
Mer information finns i Unary plus-operatorn och Addition-operatorn avsnitt i C#-språkspecifikationen. Mer information om överlagring av de sammansatta tilldelningsoperatorerna i C# 14 och senare finns i funktionsspecifikationen för användardefinierade sammansatta tilldelningar .