我对C#的语法感到困惑:“+ =”的用法是什么?
答案 0 :(得分:30)
+=
语法可以以不同的方式使用:
SomeEvent += EventHandler;
为事件添加处理程序。
SomeVariable += 3;
相当于
SomeVariable = SomeVariable + 3;
答案 1 :(得分:6)
这称为复合运算符。它们是我所能使用的所有语言的共同点:Javascript,C,Java,PHP,.net,GL。
就像所有人都说的那样,是value = value + 3
的缩短版本。
使用它的原因有很多。最明显的是,它更快速地编写,更容易阅读,更快地发现错误。
最重要的是,复合运算符的具体设计不需要与等效value = value + 3
一样多的计算。我不完全确定为什么,但证据是最重要的。
只需创建一个循环,循环为5,000,000,在继续时添加一个值。在两个测试案例中,我个人从Actionscript中了解到,复合运营商的速度提升了大约60%。
您还有等效的内容:
+=
:添加
-=
:减法
/=
:乘法
*=
:multplication
%=
:模数
并且不太明显:
++
:加一个
--
:减一个
答案 2 :(得分:5)
a += 3
与
相同a = a + 3
答案 3 :(得分:0)
注意,它不一定总是等价的。
对于普通变量,a+=a
确实相当于a=a+a
,而且更短!对于改变其状态的奇数变量,不是那么多。