C# 如何将bool数组转换为char变量?

C# 如何将bool数组转换为char变量?,c#,.net,char,boolean,type-conversion,C#,.net,Char,Boolean,Type Conversion,我有一个布尔数组,其中包含一些表示ASCII值的值: bool[] myBoolReceived = new bool[8]; 我尝试将其转换为字符,以便将其添加到包含字符的列表中 myReceivedMessage = new List<char>(); myReceivedMessage=new List(); 我尝试使用Convert.ToChar方法,但似乎不起作用 字符包含2个字节。您可以将布尔数组转换为字节,然后使用convertclass将其转换为字符 publ

我有一个布尔数组,其中包含一些表示ASCII值的值:

bool[] myBoolReceived = new bool[8];
我尝试将其转换为字符,以便将其添加到包含字符的列表中

myReceivedMessage = new List<char>(); 
myReceivedMessage=new List();

我尝试使用
Convert.ToChar
方法,但似乎不起作用

字符包含2个字节。您可以将布尔数组转换为字节,然后使用
convert
class将其转换为字符

public byte ConvertToByte(bool[] arr)
{
   byte val = 0;
   foreach (bool b in arr)
   {
      val <<= 1;
      if (b) val |= 1;
   }
   return val;
}
公共字节转换字节(bool[]arr)
{
字节val=0;
foreach(arr中的bool b)
{

val A
bool
可以包含两个值:
true
false
。我不确定“将bool数组转换为char avariable”的确切含义。你能澄清一下吗?@Emz这一部分对我来说似乎相当清楚:8位整数值的8位作为数组的单独元素存储。有很多事情我不清楚(比如为什么不简单地使用
字节
,为什么在ASCII是7位字符集时使用8位,这些位的顺序是什么)这使得这个问题很难回答。@Emz他可能是说bool数组表示字节中的位。我的意思是,如果我有:false,true,true,true,false,false,true,它包含ycharacter@hvd,这里代表8位