这个算子^ =在c#中是什么意思?
答案 0 :(得分:5)
它表示LHS表达式的值与RHS表达式的值按位异或,并将其分配回LHS表达式。
例如:
int x = 10;
int y = 3;
x ^= y; // x = 10 ^ 3, i.e. 9
LHS表达式仅评估一次,因此如果您有:
array[GetIndex()] ^= 10;
只会拨打GetIndex
一次。但请不要这样做,“因为它很讨厌:)
另请参阅relevant MSDN page。
您可能还会发现Eric Lippert's recent April Fool's Day blog post on compound assignment operators很有趣 - 和part one of the series, which was rather more serious, may prove enlightening。
答案 1 :(得分:2)
这样:
x ^= y;
相当于:
x = x ^ y;
在单词中,将x设置为x的值,或者使用y。
答案 2 :(得分:1)
异或赋值运算符。
表格
的表达方式 x ^= y
评估为
x = x ^ y
除了x只评估一次。 ^运算符对积分操作数执行按位异或运算,对bool操作数执行逻辑异或运算。
答案 3 :(得分:1)
这是“独家或转让”运营商。详细信息位于http://msdn.microsoft.com/en-us/library/0zbsw2z6(v=VS.100).aspx
答案 4 :(得分:1)
XOR。 a ^= b
与a = a ^ b
相同,其中a和b是某种整数类型。