我正在尝试阅读byte
并转换为bit
。我正在尝试创建一个标记系统。
所以字节3会将前两个标志提升为true。但是,当我尝试转换它时,只需将byte
的值作为BitArray
的长度传递。非常感谢任何帮助。
BinaryReader br = new BinaryReader(filestream);
Byte flag = br.ReadByte();
BitArray flags = new BitArray(flag);
record.Isbool = flags[0];
record.Isbool1 = flags[1];
etc
答案 0 :(得分:3)
new BitArray(flag);
使用BitArray(Int32 length)
构造函数。这设定了容量,而不是你想要的容量。
您可以使用
new BitArray(new byte[] { flag });
答案 1 :(得分:1)
您需要使用
BitArray flags = new BitArray(new byte[] {flag});
byte[]
重载使用字节中的位;在你调用int
重载的那一刻,它会给出你发现的长度。
答案 2 :(得分:1)
BinaryReader br = new BinaryReader(filestream);
Byte flag = br.ReadByte();
BitArray flags = new BitArray(new byte[] {flag});
record.Isbool = flags[0];
record.Isbool1 = flags[1];
应该可以通过调用BitArray(byte[])
构造函数来工作。
答案 3 :(得分:0)