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.
Operátor + provádí zřetězení řetězců pro řetězce literálů 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 .