このコードをコンパイルすると:
BitArray bits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
BitArray moreBits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
BitArray xorBits = bits.Xor(moreBits);
foreach (bool bit in xorBits)
{
Console.WriteLine(bit);
}
次の出力が得られます。
真 真 真
true ^ true と言って 2 つのブール値に対して xor を実行すると、false になります。
コードに何か問題がありますか。XOR の真理値表に関する私の記憶では、True XOR True は false でした。