加法赋值运算符 (+=)
更新:2007 年 11 月
将变量值与表达式值相加,并将结果赋给该变量。
result += expression
参数
result
任何变量。表达式
任何表达式。
备注
使用此运算符的效果基本上与指定 result = result + expression 相同,不同的只是仅计算一次 result。
表达式的类型决定 += 运算符的行为。
结果 |
表达式 |
Then |
---|---|---|
char |
char |
Error |
char |
Numeric |
Add |
char |
String |
Error |
Numeric |
char |
Add |
Numeric |
Numeric |
Add |
Numeric |
String |
连接 |
String |
char |
连接 |
字符串 |
Numeric |
连接 |
String |
String |
连接 |
若进行串联,数字将被强迫转换为数值的字符串表示形式,字符将被当作长度为 1 的字符串。若将字符和数字相加,字符将被强迫转换为数值,而后将两个数字相加。某些类型的组合会因加法的结果类型无法强迫为所需的输出类型而出错。
示例
下面的示例阐释加法赋值运算符如何处理不同类型的表达式。
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.