将(0/​​1)字符串加载到位数组中

时间:2012-12-19 11:10:06

标签: c# string bitarray

将“10101011101010”等字符串直接加载到新的位数组中的最明智的方法是什么? (不是字节数组

(这些位应保持与列表中的顺序相同。)

3 个答案:

答案 0 :(得分:9)

您可以使用LINQ:

var res = new BitArray(str.Select(c => c == '1').ToArray());

答案 1 :(得分:3)

您可以在此案例中使用LINQ,例如;

var yourbitarray = new BitArray(yourstring.Select(s => s == '1').ToArray());

答案 2 :(得分:0)

这样的事情怎么样:

string bits = "101010101010";
byte[] bytes = bits.ToCharArray().Select(c => (byte)c == '0' ? 0 : 1).ToArray();

可能会工作......

byte[] bytes = bits.Select(c => (byte)c == '0' ? 0 : 1).ToArray();