使用 -= 赋值运算符的表达式,如
等效于
x = x - y
不同的是 x 只计算一次。- 运算符的含义取决于 x 和 y 的类型(例如,对于数值操作数,其含义为相减;对于委托操作数,其含义为移除)。
不能直接重载 -= 运算符,但用户定义的类型可重载 - 运算符
*= 运算符(C# 参考)
二元乘法赋值运算符。
备注
使用 *= 赋值运算符的表达式,如
x *= y
等效于
x = x * y
x -= y
/= 运算符(C# 参考)
除法赋值运算符。
备注
使用 /= 赋值运算符的表达式,如
等效于
x = x / y
x /= y
%= 运算符(C# 参考)
模块赋值运算符。
备注
使用 %= 赋值运算符的表达式,如
等效于
x = x % y
&= 运算符(C# 参考)
“与”赋值运算符。
备注
使用 &= 赋值运算符的表达式,如
等效于
x = x & y
x &= y
x %= y
|= 运算符(C# 参考)
“或”赋值运算符。
备注
使用 |= 赋值运算符的表达式,例如
等效于
x = x | y
x |= y
^= 运算符(C# 参考)
“异或”赋值运算符。
x ^= y
x = x ^ y
<<= 运算符(C# 参考)
左移赋值运算符。
备注
下列形式的表达式
按如下规则计算:
x = x << y
x <<= y
>>= 运算符(C# 参考)
右移赋值运算符。
备注
下列形式的表达式
按如下规则计算:
x = x >> y
x >>= y
-> 运算符(C# 参考)
-> 运算符将指针取消引用与成员访问组合在一起。
备注
以下形式的表达式
(其中 x 为 T* 类型的指针,y 为 T 的成员)等效于
-> 运算符只能在非托管代码中使用。
不能重载 -> 运算符。
(*x).y
x->y
?? 运算符(C# 参考)
如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数。
备注
可空类型可以包含值,或者可以是未定义的。?? 运算符定义当可空类型分配给非可空类型时返回的默认值。如果在将可空类型分配给非可空类型时不使用 ?? 运算符,将生成编译时错误。如果使用强制转换,并且当前未定义可空类型,将发生 InvalidOperationException 异常。
有关更多信息,请参见可空类型(C# 编程指南)。