2 つのブール値が与えられた場合、C# で XOR 演算を計算する最もエレガントな1 つのライナーをどのように考え出すのですか?
switch
orを組み合わせてこれを行うことができることは知っていますif
else
が、それは私のコードをかなり醜くします。
bool xorValue = bool1 ^ bool2;
いくつかのコンテキストを追加します: ここで見ることができますテーブル
「排他的または」は基本的に「等しくない」と同じであることがわかります。したがって、これを(ブール値で)使用できます:
if (X != Y)...
ただし、「XOR」を意味する人を直接表示したい場合は、ここで他の回答を使用してください。
C# には論理 XOR 演算子 ^
があります。方法は次のとおりです。
bool result = x ^ y // x XOR y
私はそれが役立つはずだと思います:
A ^ B ? TrueOperation() : FalseOperation();