有没有一种简单的方法可以将 boolean 值数组转换为 8 位十六进制等效值?例如,如果我有

 bool[] BoolArray = new bool[] { true,false,true,true,false,false,false,true };

如果真值 = 1 和假值 = 0,那么我想要一种方法或函数将上述数组转换为 0xB1 (10110001)。

是否存在这样的功能或方法来做到这一点?顺便说一下,我正在使用 C#。

最佳答案

是的,您可以使用 BitArray 类。像这样的事情应该这样做:

BitArray arr = new BitArray(BoolArray);
byte[] data = new byte[1];
arr.CopyTo(data, 0);

如果“8 位十六进制”是指字符串表示,则可以使用 BitConverter 类:
string hex = BitConverter.ToString(data);

关于c# - 将 boolean 数组转换为十六进制数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5533545/

10-11 22:13
查看更多