Operador de asignación y suma (+=)
Agrega el valor de una expresión al valor de una variable y asigna el resultado a la variable.
result += expression
Argumentos
result
Cualquier variable.expression
Cualquier expresión.
Comentarios
Si se usa este operador, el resultado es prácticamente el mismo que si se especifica result = result + expression, con la diferencia de que result se evalúa solo una vez.
El tipo de las expresiones determina el comportamiento del operador +=.
Resultado |
expresión |
Then |
---|---|---|
char |
char |
Error |
char |
Numérica |
Agregar |
char |
String |
Error |
Numérica |
char |
Agregar |
Numérica |
Numérica |
Agregar |
Numérica |
String |
Concatenar |
String |
char |
Concatenar |
String |
Numérica |
Concatenar |
String |
String |
Concatenar |
En la concatenación, los números se convierten en una representación de cadena del valor numérico y los chars se consideran cadenas de longitud 1. En la suma de un char y un número, el char se convierte en un valor numérico y se suman los dos números. Algunas combinaciones de tipos dan errores debido a que el tipo resultante de la suma no se puede convertir en el tipo de resultado necesario.
Ejemplo
En el ejemplo siguiente se muestra cómo el operador de asignación y suma procesa expresiones de distintos tipos.
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.