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