如何使用 C# 从位信息创建 char 数组

How to create a char array from a bits information with C#

我有以下结构:

我需要用信息值创建一个字符数组,我的意思是,我需要这样的东西:

char[] result = new char[]{Information, Information, Information, Information}

最好的方法是什么?我这样做是为了获取字节,接下来传递给位数组,接下来创建一个包含信息位置的字符串,最后在包含所需信息的字符串上应用 ToCharArray() 方法,但我想知道是否存在这样做的最佳方法.

var oneByteInfo = message.ReadBytes(1);
var oneByteInfo2 = message.ReadBytes(1);
var infoBitArray = new BitArray(oneByteInfo);
var info2BitArray = new BitArray(oneByteInfo2);

var arrayString = Convert.ToString(BitConverter.GetBytes(infoBitArray[0])[0]) +  
                            Convert.ToString(BitConverter.GetBytes(infoBitArray[1])[0]) + 
                            Convert.ToString(BitConverter.GetBytes(info2BitArray[0])[0]) + 
                             Convert.ToString(BitConverter.GetBytes(info2BitArray[1])[0]);

var result = arrayString.ToCharArray();

提前致谢。

大概是这样的:

char[] arr = new char[4];
arr[0] = (bytes[2] & 0x01) != 0 ? '1' : '0';
arr[1] = (bytes[2] & 0x02) != 0 ? '1' : '0';
arr[2] = (bytes[3] & 0x01) != 0 ? '1' : '0';
arr[3] = (bytes[3] & 0x02) != 0 ? '1' : '0';

请注意,有一些方法可以更简单地执行此操作(例如,将两位的所有 4 种可能组合作为字符串,然后只进行查找)- 但这在一般情况下有效。