如何将布尔列表转换为等于被解释为字节的布尔值的整数?
即。
public List<Boolean> MyList = new List<Boolean>();
MyList.Add(true);
MyList.Add(true);
MyList.Add(false);
MyList.Add(false);
MyList.Add(false);
MyList.Add(false);
MyList.Add(false);
MyList.Add(false);
这将返回3。
答案 0 :(得分:3)
你不能,至少不能直接。
可以使用BitArray
类(MSDN)将您的bool
集合转换为位,然后从中获取一个数字:
BitArray bitField = new BitArray(MyList.ToArray()); //BitArray takes a bool[]
byte[] bytes = new byte[1];
bitField.CopyTo(bytes, 0);
return bytes[0];
BitArray来评估来自https://stackoverflow.com/a/560131/1783619
的转化价值请注意,此技术也适用于大于8位的数字,但您需要使用BitConverter
(MSDN)从字节数组中获取值(而不仅仅是返回第一个)