Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#复合赋值运算符^=_C# - Fatal编程技术网

C#复合赋值运算符^=

C#复合赋值运算符^=,c#,C#,这个运算符^=在c#中是什么意思 这意味着将LHS表达式的值与RHS表达式的值按位异或,并将其赋回LHS表达式 例如: int x = 10; int y = 3; x ^= y; // x = 10 ^ 3, i.e. 9 LHS表达式只计算一次,因此如果您有: array[GetIndex()] ^= 10; 这将只调用GetIndex一次。但请不要这样做,因为这很恶心:) 另见 您还可能会发现有趣的-and.异或赋值运算符 形式的表达 x ^= y 被评估为 x = x ^ y

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

这意味着将LHS表达式的值与RHS表达式的值按位异或,并将其赋回LHS表达式

例如:

int x = 10;
int y = 3;

x ^= y; // x = 10 ^ 3, i.e. 9
LHS表达式只计算一次,因此如果您有:

array[GetIndex()] ^= 10;
这将只调用
GetIndex
一次。但请不要这样做,因为这很恶心:)

另见


您还可能会发现有趣的-and.

异或赋值运算符

形式的表达

 x ^= y
被评估为

 x = x ^ y
除了x只计算一次。^运算符对整数操作数执行位异或运算,对布尔操作数执行逻辑异或运算


这是“独占或分配”运算符。有关详细信息,请访问XOR
a^=b
a=a^b
相同,其中a和b是某种整数类型。

这是:

x ^= y;
相当于:

x = x ^ y;

换句话说,将x设置为x的值,并与y进行异或运算。

这个问题对您来说不是有点容易吗??)^不确定@AdamRackis是否在说双关语。。。位运算符问题对您来说“有点”容易吗?;)哈哈哈哈:正如所有其他答案所说,它是一个
XOR
操作符。一个很好的解释就是为什么不问问?或者任何一本参考书。