Megosztás a következőn keresztül:


Összeadási operátorok – + és +=

A beépített integrál és lebegőpontos numerikus típusok, a karakterlánc típus, valamint a delegált típusok egyaránt támogatják a + és += operátorokat.

Az aritmetikai + operátorról az 'Aritmetikai operátorok' című cikk Unáris plusz és mínusz operátorok és Összeadás operátor + szakaszában olvashat.

Sztringösszefűzés

Ha egy vagy mindkét operandus típusa karakterlánc, a + operátor összefűzi az operandusok karakterlánc-ábrázolását (a null karakterlánc ábrázolása pedig egy üres karakterlánc):

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.

Az interpoláció kényelmesebb módot kínál a sztringek formázásához:

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

Sztringinterpolációval inicializálhat egy állandó sztringet, ha a helyőrzőkhöz használt kifejezések is állandó sztringek.

A C# 11-től kezdődően a + operátor sztringösszefűzést hajt végre az UTF-8 literális sztringekhez. Ez az operátor két ReadOnlySpan<byte> objektumot fűz össze.

Delegálási kombináció

Az azonos delegált típusú operandusok esetén a + operátor egy új delegált példányt ad vissza, amely meghíváskor először a bal oldali operandust, majd a jobb oldali operandust hívja meg. Ha bármelyik operandus null, a + operátor egy másik operandus értékét adja vissza (amely szintén nulllehet). Az alábbi példa bemutatja, hogyan kombinálhatók a meghatalmazottak az + operátorral:

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

A delegált eltávolításához használja a - operátort.

A delegálttípusokról további információt Meghatalmazottakcímű témakörben talál.

Hozzáadási hozzárendelés operátora +=

A += operátort használó kifejezés, például

x += y

Egyenértékű vele:

x = x + y

Kivéve, hogy a x csak egyszer lesz kiértékelve.

Az alábbi példa a += operátor használatát mutatja be:

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

Az += operátorral is megadhatja az eseménykezelő metódust, amikor előfizet egy eseményre. További információ: Hogyan: feliratkozás és leiratkozás eseményekről.

Operátorok túlterhelése

A felhasználó által definiált típus túlterhelést. Ha egy bináris + operátor túlterhelt, a += operátor is implicit módon túlterhelt. A C# 14-től kezdve a felhasználó által definiált típus explicit módon túlterhelheti az operátort a += hatékonyabb megvalósítás érdekében. Egy típus általában túlterheli az += operátort, mert az érték frissíthető a helyén, és nem foglal le új példányt az összeadás eredményének tárolásához. Ha egy típus nem biztosít explicit túlterhelést, a fordító implicit túlterhelést hoz létre.

C# nyelvspecifikáció

További információ: a egyváltozós plusz operátor és az összeadás operátor szakaszai a C# nyelvi specifikációjának. Az összetett hozzárendelési operátorok C# 14-ben és újabb verzióiban történő túlterheléséről további információt a felhasználó által megadott összetett hozzárendelési funkció specifikációjában talál.

Lásd még: