Sdílet prostřednictvím


Operátory sčítání – + a +=

Operátory + a += operátory jsou podporovány integrovanými integrálními a číselnými typy s plovoucí desetinnou čárkou , typem řetězce a typy delegátů .

Informace o aritmetickém + operátoru naleznete v článku unární operátory plus a minus a operátor sčítání + části aritmetické operátory.

Zřetězení řetězců

Pokud jeden nebo oba operandy jsou typu řetězec, + operátor zřetězí řetězcové reprezentace svých operandů (řetězcová reprezentace null je prázdný řetězec):

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.

Interpolace řetězců poskytuje pohodlnější způsob formátování řetězců:

Console.WriteLine($"Probably the oldest constant: {Math.PI:F2}");
// Output:
// Probably the oldest constant: 3.14

Počínaje jazykem C# 10 můžete pomocí interpolace řetězců inicializovat konstantní řetězec, pokud jsou všechny výrazy používané pro zástupné symboly také konstantní řetězce.

Počínaje jazykem C# 11 + operátor provádí zřetězení řetězců pro literály UTF-8. Tento operátor zřetězí dva ReadOnlySpan<byte> objekty.

Kombinace delegátů

Pro operandy stejného typu delegáta + vrátí operátor novou instanci delegáta, která při vyvolání vyvolá levý operand a potom vyvolá operand pravé ruky. Pokud je některý z operandů null, + vrátí operátor hodnotu jiného operandu (což může být nulltaké ). Následující příklad ukazuje, jak lze delegáty kombinovat s operátorem + :

Action a = () => Console.Write("a");
Action b = () => Console.Write("b");
Action ab = a + b;
ab();  // output: ab

Chcete-li provést odebrání delegáta - , použijte operátor.

Další informace o typech delegátů najdete v tématu Delegáti.

Operátor sčítání přiřazení +=

Výraz používající += operátor, například

x += y

je ekvivalentem

x = x + y

s tím rozdílem, že x se vyhodnotí pouze jednou.

Následující příklad ukazuje použití operátoru += :

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

Operátor slouží += také k určení metody obslužné rutiny události při přihlášení k odběru události. Další informace najdete v tématu Postupy: Přihlášení k odběru a odhlášení odběru událostí.

Přetížení operátoru

Uživatelem definovaný typ může přetížit + operátor. Pokud je binární + operátor přetížen, += operátor je také implicitně přetížen. Uživatelem definovaný typ nemůže explicitně přetížit += operátor.

specifikace jazyka C#

Další informace naleznete v částech unární operátor plus a operátor sčítání specifikace jazyka C#.

Viz také