BitArray没有';没有按预期工作

本文关键字:工作 没有 BitArray | 更新日期: 2023-09-27 18:26:33

我有这个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和长度,以及数组的下限

问题

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

BitArray没有';没有按预期工作

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

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

  • 第二阵列太短
  • 不能将bool隐式转换为int