Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Operátory sčítání –
Integrované celočíselné a číselné typy s plovoucí desetinnou čárkou, řetězcové a delegátové typy všechny podporují operátory +
a +=
.
Pro informace o aritmetickém operátoru +
vizte sekce Unární operátory plus a minus a Operátor sčítání + článku 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 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
Interpolaci řetězců můžete použít k inicializaci konstantního řetězce, když všechny výrazy používané pro zástupné symboly jsou také konstantní řetězce.
Počínaje jazykem C# 11 provede operátor +
zřetězení řetězců pro literály UTF-8. Tento operátor spojuje dva objekty ReadOnlySpan<byte>
.
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á pravý operand. Pokud je některý z operandů null
, vrátí operátor +
hodnotu jiného operandu (což může být také null
). 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ů naleznete v tématu Delegáti.
Přiřazovací operátor pro součet +=
Výraz používající operátor +=
, například
x += y
Je ekvivalentní:
x = x + y
Kromě toho, že x
se vyhodnotí jenom 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
Pomocí operátoru +=
také určíte metodu obslužné rutiny, když se přihlásíte 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ížení operátor +
. Pokud je binární +
operátor přetížen, je operátor +=
také implicitně přetížen. Počínaje jazykem C# 14 může uživatelem definovaný typ explicitně přetížit +=
operátor, aby poskytoval efektivnější implementaci. Typ obvykle přetěžuje +=
operátor, protože hodnotu lze aktualizovat místo přidělení nové instance pro uložení výsledku sčítání. Pokud typ neposkytuje explicitní přetížení, kompilátor vygeneruje implicitní přetížení.
Specifikace jazyka C#
Další informace najdete v unární operátor plus a operátor sčítání části specifikace jazyka jazyka C#. Další informace o přetížení operátorů složeného přiřazení v jazyce C# 14 a novějších najdete ve specifikaci funkce složeného přiřazení definované uživatelem .