C#中的BitArrays有问题吗?

Oma*_*eji 3 c# xor bitarray

当我调用这段代码时:

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);
}
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

真实的真实

当我在两个布尔值上执行xor时,通过说出true ^ true,我得到假.

代码有问题吗?我对XOR真值表的记忆是True XOR True是假的.

Ken*_*art 27

复制并粘贴错误.

BitArray moreBits = new BitArray(3);
bits[0] = true;
bits[1] = true;
bits[2] = true;
Run Code Online (Sandbox Code Playgroud)

那应该是:

BitArray moreBits = new BitArray(3);
moreBits[0] = true;
moreBits[1] = true;
moreBits[2] = true;
Run Code Online (Sandbox Code Playgroud)


Luc*_*cas 6

bitstrue两次.你是不是设置moreBitstrue,所以它默认为清一色false.我怪复制/粘贴!

编辑:在短时间内,我写了这个肯特回答,并投了8次!