Condividi tramite


Operatori di addizione : + e +=

Gli operatori e sono supportati dai tipi numerici integrali predefiniti e a virgola mobile, dal tipo stringa e dai tipi di delegato .

Per informazioni sull'operatore aritmetico +, vedere le sezioni Operatori unari più e meno e Operatore di addizione + dell'articolo Operatori aritmetici.

Concatenazione di stringhe

Quando uno o entrambi gli operandi sono di tipo stringa, l'operatore + concatena le rappresentazioni di stringa dei relativi operandi (la rappresentazione di stringa di null è una stringa vuota):

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.

L'interpolazione di stringhe offre un modo più pratico per formattare le stringhe:

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

È possibile usare l'interpolazione di stringhe per inizializzare una stringa costante quando anche tutte le espressioni utilizzate per i segnaposto sono stringhe costanti.

A partire da C# 11, l'operatore + esegue la concatenazione di stringhe per le stringhe letterali UTF-8. Questo operatore concatena due oggetti ReadOnlySpan<byte>.

Combinazione di delegati

Per operandi dello stesso tipo di delegato , l'operatore + restituisce una nuova istanza del delegato che, una volta invocata, richiama l'operando di sinistra e successivamente l'operando di destra. Se uno degli operandi è null, l'operatore + restituisce il valore di un altro operando (che potrebbe anche essere null). Nell'esempio seguente viene illustrato come combinare i delegati con l'operatore +:

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

Per eseguire la rimozione del delegato, usare l'operatore -.

Per maggiori informazioni sui tipi di delegati, vedere Delegati.

Operatore di assegnazione addizione +=

Espressione che usa l'operatore +=, ad esempio

x += y

Equivale a:

x = x + y

Ad eccezione del fatto che x viene valutato una sola volta.

Nell'esempio seguente viene illustrato l'utilizzo dell'operatore +=:

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

Usi anche l'operatore += per specificare un metodo del gestore di eventi quando ti iscrivi a un evento . Per altre informazioni, vedere Procedura: sottoscrivere e annullare la sottoscrizione agli eventi.

Sovraccarico degli operatori

Un tipo definito dall'utente può sovraccaricare l'operatore +. Quando un operatore binario + è sovraccaricato, l'operatore += è anche sovraccaricato implicitamente. Un tipo definito dall'utente non può sovraccaricare esplicitamente l'operatore +=.

Specifica del linguaggio C#

Per ulteriori informazioni, vedere le sezioni operatore più unario e operatore di somma della specifica del linguaggio C#.

Vedere anche