字节数组转bool数组

我想接收一个字节[]并将其转换为一个bool[]。我已经找到了一个代码,它可以将bool放到一个bool队列中,但我不具备必要的技能知识,无法从一个给我一个bool队列的方法变成一个给我一个bool数组的方法。

任何帮助都是感激的

public void TmsTdiEnqueue(int bitCount, byte[] byteArray)
        {
            // New TAP bit queues with allocated number of bits
            boolQueue = new Queue<bool>(bitCount);

            // Fill bool queue
            int byteIndex = 0;
            int bitMask = 0x01;
            for (int i = 0; i < bitCount; i++)
            {
                boolQueue.Enqueue((tmsBytes[byteIndex] & bitMask) != 0);
                IncrementBitPointer(ref byteIndex, ref bitMask);
            }
        }

        private void IncrementBitPointer(ref int byteIndex, ref int bitMask)
        {
            byteIndex += (bitMask == 0x80) ? 1 : 0;
            bitMask = (bitMask == 0x80) ? 0x01 : bitMask << 1;
        }

解决方案:

如果源码 byte[] 数组每个位有一个布尔值,你可以简单地使用 BitArray 类。

BitArray ba = new BitArray(new byte[] { 1, 2, 3 });
bool[] ret = new bool[ba.Length];
ba.CopyTo(ret, 0);

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/521.html

(0)
上一篇 2022年6月29日 下午3:57
下一篇 2022年6月29日 下午3:57

相关推荐

发表评论

登录后才能评论