通过位运算解决:
public static int BitToIntOne(BitArray bit)
{
int res = 0;
for (int i = bit.Count - 1; i >= 0; i--)
{
res = bit[i] ? res + (1 << i) : res;
}
return res;
}
public static int BitArrayToInt(BitArray ba)
{
Int32 ret = 0;
for (int i = 0; i < ba.Length; i++)
{
if (ba.Get(i))
{
ret |= (1 << i);
}
}
return ret;
}
通过CopyTo API函数解决:
public static int BitToIntTwo(BitArray bit)
{
int[] res = new int[1];
for (int i = 0; i < bit.Count; i++)
{
bit.CopyTo(res, 0);
}
return res[0];
}