这些(+ =, - =,*=,/ =)运算符是什么意思?

Ian*_*erg 5 c# operators

我一直在到处找弄清楚这些意味着什么以及如何使用它们+=,-=,*=,/=,我已经找到了最重要的是,他们是,"通过差异分配","分配的产品","添加分配","作业by Quotient"等,但我无法弄清楚它们何时或如何使用.如果有人可以向我解释这一点,我将非常感激.谢谢

Tot*_*ero 27

它们是速记:

a += b

是相同的

a = a + b

等等...

所以

  • a -= b 相当于 a = a - b
  • a *= b 相当于 a = a * b
  • a /= b 相当于 a = a / b

正如凯文Brydon建议-熟悉C#中的运营商这里.


and*_*ndy 5

这些是赋值运算符(简写)

a += 1; is equal to a =  a + 1;

b -= 1; is equal to b =  b - 1;

a *= 1; is equal to a =  a * 1;

b /= 1; is equal to b =  b / 1;
Run Code Online (Sandbox Code Playgroud)

参考:链接


wxy*_*xyz 5

a+=1 means a = a+1
a-=2 means a = a-2
a*=3 means a = a*3
a/=4 means a = a/4
Run Code Online (Sandbox Code Playgroud)


Raw*_*ing 5

请参阅7.13 Assignment operators规范及其小节.具体来说7.13.2 Compound assignment:

x op = y 形式的操作通过应用二元运算符重载决策(见第7.2.4节)来处理,就好像操作是用x op y 编写的一样.然后,

•如果所选运算符的返回类型可隐式转换为x的类型,则操作将计算为x = x op y,但x仅计算一次.

•否则,如果所选运算符是预定义运算符,如果所选运算符的返回类型可显式转换为x类型,并且如果y可隐式转换为x类型,则操作将计算为x =( T)(x op y),其中T是x的类型,除了x仅被计算一次.

•否则,复合赋值无效,并发生编译时错误.