C#中的布尔赋值运算符

Mav*_*ick 1 c# boolean-operations

这个^=布尔赋值运算符如何在C#中工作,运算符的数学名称是^什么?它&|运营商有何不同?

Zei*_*kki 8

文件:

二元^运算符是为整数类型和bool预定义的.对于整数类型,^计算其操作数的按位异或.对于bool操作数,^计算其操作数的逻辑异或; 也就是说,当且仅当其中一个操作数为真时,结果才为真.

在数学中,这称为互斥.

开发人员用例:

您可能有一个UI,其中一起需要2个输入字段(但两者都是空的有效).在这种情况下,您可以使用XOR运算符检查是否填充了一个字段而另一个字段未填充.

如何^从不同&|:

  • true&false => false;
  • 是的| false => true;
  • true ^ false => true;

  • true ^ true=> false同时true & true=> true和true | true=> true

规则:

  • &:两者都应该是真实的.
  • |:至少有一个应该是真实的.
  • ^:只有一个操作数应为true才能生成true.

使用b1 ^= b2;等同于b1 = b1 ^ b2;以上规则适用.