Operatori di addizione : +
e +=
Gli operatori
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#.