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

C# 这些(+;=,-=,*=,/=)运算符是什么意思?,c#,operators,C#,Operators,我一直在到处寻找,想弄清楚这些是什么意思,以及它们是如何使用的,+=,-=,*=,/=,我发现的最多的是,“加法赋值”、“差分赋值”、“乘积赋值”、“商赋值”等等,但我不知道它们是何时或如何使用的。如果有人能向我解释这一点,我将非常感激。谢谢它们是速记: a+=b 与 a=a+b 等等 所以 a-=b相当于a=a-b a*=b相当于a=a*b a/=b相当于a=a/b 正如Kevin Brydon所建议的——熟悉C#中的运算符 这些是速记操作员 在执行操作时使用这些变量&将结果存储到它们之间

我一直在到处寻找,想弄清楚这些是什么意思,以及它们是如何使用的,
+=
-=
*=
/=
,我发现的最多的是,“加法赋值”、“差分赋值”、“乘积赋值”、“商赋值”等等,但我不知道它们是何时或如何使用的。如果有人能向我解释这一点,我将非常感激。谢谢

它们是速记:

a+=b

a=a+b

等等

所以

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

正如Kevin Brydon所建议的——熟悉C#中的运算符

这些是速记操作员
在执行操作时使用这些变量&将结果存储到它们之间的一个变量中。也就是说,将结果存储到一个操作数中 假设示例
1)x=x+y
在这里你可以做x+=y
ex2)x=x+1

在这里你可以做x+=1

大致上,
var*operator*=expression
表示
var=var*operator*expression
。另外,我听说某处有一个文档。

这些是赋值运算符(速记)

请参阅:

参见及其子部分,具体如下:

通过应用二进制运算符重载解析()来处理形式为x op=y的操作,就像该操作是写入x op y一样。那么

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

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

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


这是一个简短的形式。因此,与其写:

x=x+1

你可以简单地写:

x+=1


它也有同样的影响

其他你将看到的:<代码> A++<代码>意味着<代码= A+1 ,<代码> A/<代码>意味着<代码> A= A- 1 < <代码> A,通过添加< <代码> >将导致你描述它所做的事情。考虑只在一个简单的应用程序中使用它们,观察结果。是。@IanLundberg花15分钟熟悉C#中的运算符是值得的。从长远来看,这对你会有好处。很有趣,但我对a*=13/12有个问题。在这种情况下,不等同于
a=a*13/12
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;
a+=1 means a = a+1
a-=2 means a = a-2
a*=3 means a = a*3
a/=4 means a = a/4