BitArray没有按预期工作

时间:2014-10-14 19:30:33

标签: c# .net bitarray

我有这个BitArray:

    BitArray bits = new BitArray(2);
    bits[0] = false;
    bits[1] = true;

代表:10b - > 2

让我们看看它的价值:

  int[] array = new int[1];
  bits.CopyTo(array, 0);
  Console.WriteLine(array[0]);  // value=2

现在我将第一个代码更改为:

   bool[] bits = new bool[2] {  false, true }; //same value !
   BitArray myBA4 = new BitArray( bits );

   //and again...
   int[] array = new int[1];
   bits.CopyTo(array, 0);
   Console.WriteLine(array[0]);
  • 异常:目标数组不够长。检查destIndex和length,以及数组的下限。

问题

我的错误在哪里?我认为应该是相同的结果。

1 个答案:

答案 0 :(得分:2)

bool[] bits = new bool[2] { false, true };

分配一个包含两个元素的数组,CopyTo应该逐个复制它们。它不能成功,因为

  • 第二个数组太短;
  • bool无法隐式转换为int