c#复合赋值操作符^=

本文关键字:赋值操作符 复合 | 更新日期: 2023-09-27 17:52:48

这个运算符^=在c#中是什么意思?

c#复合赋值操作符^=

表示LHS表达式的值与RHS表达式的值按位异或,并将其赋给LHS表达式

例如:

int x = 10;
int y = 3;
x ^= y; // x = 10 ^ 3, i.e. 9

LHS表达式只求值一次,所以如果有:

array[GetIndex()] ^= 10;

只调用一次GetIndex。但请不要这样做,因为它很讨厌:)

请参阅相关的MSDN页面。

你可能还会觉得Eric Lippert最近在愚人节发表的关于复合赋值运算符的博文很有趣——而这个系列的第一部分,相当严肃,可能会给你一些启发。

this:

x ^= y;

等价于:

x = x ^ y;

也就是说,将x设置为与x不相容或与y 'ed的值。

异或赋值操作符。

形式为

的表达式
 x ^= y

被计算为

 x = x ^ y

,除了x只求值一次。^操作符对整型操作数执行位异或操作,对bool型操作数执行逻辑异或操作。

http://msdn.microsoft.com/en-us/library/0zbsw2z6.aspx

这是"独占或赋值"操作符。详见http://msdn.microsoft.com/en-us/library/0zbsw2z6(v=VS.100).aspx

XOR。a ^= ba = a ^ b相同,其中a和b是某种整数类型