我一直在到处寻找这些是什么意思以及它们是如何使用的,,,,,我发现最多的是它们是,“加法分配”,“差异分配”,“产品分配”,+=
“-=
分配by Quotient”等,但我不知道何时或如何使用它们。如果有人可以向我解释一下,我将不胜感激。谢谢*=
/=
7 回答
它们是简写:
a += b
是相同的
a = a + b
ETC...
所以
a -= b
相当于a = a - b
a *= b
相当于a = a * b
a /= b
相当于a = a / b
正如 Kevin Brydon 建议的那样 - 在此处熟悉 C# 中的运算符。
请参阅7.13 Assignment operators
规范及其小节。具体而言7.13.2 Compound assignment
:
通过应用二元运算符重载决议(第 7.2.4 节)来处理x op = y 形式的操作,就好像该操作写成 x op y。然后,
• 如果所选运算符的返回类型可隐式转换为 x 的类型,则运算将计算为 x = x op y,但 x 仅计算一次。
• 否则,如果所选运算符是预定义运算符,如果所选运算符的返回类型可显式转换为 x 的类型,并且如果 y 可隐式转换为 x 的类型,则运算计算为 x = ( T)(x op y),其中 T 是 x 的类型,除了 x 只计算一次。
•否则,复合赋值无效,并出现编译时错误。
a+=1 means a = a+1
a-=2 means a = a-2
a*=3 means a = a*3
a/=4 means a = a/4
这些是赋值运算符(简写)
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;
参考:链接
大致var *operator*= expression
意思是var = var *operator* expression
。另外,我听说某处有文档。
这是一个简短的形式。所以不要写:
x = x + 1;
你可以简单地写:
x += 1;
它具有相同的效果。
这些是速记运算符。
这些在您执行操作并将结果存储到它们之间的变量之一时使用。也就是说,您将结果存储到您的操作数之一中,假设示例
1)x=x+y;
在这里你可以做 x+=y;
例如 2) x=x+1;
在这里你可以做 x+=1;