C#复合赋值运算符^=
这个运算符^=在c#中是什么意思 这意味着将LHS表达式的值与RHS表达式的值按位异或,并将其赋回LHS表达式 例如: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
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
操作符。一个很好的解释就是为什么不问问?或者任何一本参考书。