如果有一个逻辑,要求在两个条件中当且仅当一个条件满足的时候才为true。你会怎么实现?

想想看?不容易吧?

 

但是C#提供了异或运算符,使得这种逻辑实现起来很简单。

 

当且仅当只有一个操作数为 true 时,结果才为 true

 

比如下面这个条件判断:

if (a == null ^ b == null)

只有一个为空的时候才为true。两个都为空或者两个都不为空的时候就为false。