在转换 BitArray 为 byte[] 时,需要注意 BitArray 的元素位数是否为8的倍数,如果不是,则需要添加额外的位数,将其补齐至8的倍数。下面是一个代码示例:
BitArray bits = new BitArray(new[] { true, true, true, false, false, false, true, true, false });
int numBytes = bits.Length / 8;
if (bits.Length % 8 != 0) numBytes++;
byte[] bytes = new byte[numBytes];
bits.CopyTo(bytes, 0);
在上面的代码中,先计算出需要的字节数,再将 BitArray 转换成 byte[],并且使用 CopyTo 方法来完成转换。这样做可以保证转换的正确性,并且不会丢失任何数据。