‘+ =’的含义

我对C#的语法感到困惑:“+ =”的用法是什么?

+=语法可以以不同的方式使用:

 SomeEvent += EventHandler; 

向事件添加处理程序。


 SomeVariable += 3; 

相当于

 SomeVariable = SomeVariable + 3; 

这称为复合运算符。 它们是我所能使用的所有语言的共同点:Javascript,C,Java,PHP,.net,GL。

就像每个人都说的那样,是value = value + 3的缩短版本。

使用它有多种原因。 最明显的是,它更快速地编写,更容易阅读,更快地发现错误。

最重要的是,复合运算符的具体设计不需要与等效value = value + 3一样多的计算。 我不完全确定为什么,但证据是至关重要的。

只需创建一个循环,循环为5,000,000,然后在继续时添加一个值。 在两个测试案例中,我个人从Actionscript中了解到,复合运营商的速度提升了大约60%。


你也有相应的:

+= :加法

-= :减法

/= :乘法

*= :乘法

%= :模数

并且不太明显:

++ :加一个

-- :减1

 a += 3 

是相同的

 a = a + 3 

注意,它不一定总是等价的。

对于普通变量, a+=a确实相当于a=a+a ,并且更短! 对于改变其状态的奇数变量,不是那么多。