Operatore di assegnazione di addizione (+=)
Aggiornamento: novembre 2007
Consente di aggiungere il valore di un'espressione al valore di una variabile e di assegnare il risultato alla variabile.
result += expression
Argomenti
result
Qualsiasi variabile.expression
Qualsiasi espressione.
Note
Il risultato che si ottiene utilizzando questo operatore è analogo a quello ottenuto specificando result = result + expression, con la differenza che result viene valutato una sola volta.
Il tipo delle espressioni determina il funzionamento dell'operatore +=.
Risultato |
expression |
Then |
---|---|---|
char |
char |
Errore |
char |
Numeric |
Aggiunta |
char |
String |
Errore |
Numeric |
char |
Aggiunta |
Numeric |
Numeric |
Aggiunta |
Numeric |
String |
Concatenazione |
String |
char |
Concatenazione |
String |
Numeric |
Concatenazione |
String |
String |
Concatenazione |
Per la concatenazione, i numeri vengono assegnati forzatamente a una rappresentazione in forma di stringa del valore numerico e i caratteri sono considerati stringhe di lunghezza 1. Per la somma di un carattere e un numero, il carattere viene assegnato forzatamente a un valore numerico e i due numeri vengono sommati. Alcune combinazioni di tipi restituiscono errori poiché il tipo che risulta dalla somma non può essere assegnato forzatamente al tipo di output richiesto.
Esempio
Nell'esempio che segue viene illustrata l'elaborazione di espressioni di tipi diversi mediante l'operatore di assegnazione di addizione.
var str : String = "42";
var n : int = 20;
var c : char = "A"; // The numeric value of "A" is 65.
var result;
c += n; // The result is the char "U".
n += c; // The result is the number 105.
n += n; // The result is the number 210.
n += str; // The result is the number 21042.
str += c; // The result is the string "42U".
str += n; // The result is the string "42U21042".
str += str; // The result is the string "42U2104242U21042".
c += c; // This returns a runtime error.
c += str; // This returns a runtime error.
n += "string"; // This returns a runtime error.