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 null
také ). 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro