【问题标题】:Copying a bitarray in a larger one (right justified)将位数组复制到较大的位数组中(右对齐)
【发布时间】:2012-12-09 05:32:56
【问题描述】:

我必须创建一个比现有bitarray 更大的新bitarray(开头多了一个元素)并将其复制到 bitarray 的末尾。

到目前为止我已经这样做了,但看起来很丑:

BitArray New_Ft = new BitArray(Ft.Length + 1);
for (int i = 0; i <= Ft.Length - 1; i++) {
    New_Ft(i + 1) = Ft(i);
}

有没有更聪明的方法(一些全局副本)?

【问题讨论】:

  • 我觉得你的方法其实还不错。不确定是否有更简单的方法。

标签: c# vb.net clone bitarray


【解决方案1】:

也许您需要创建一个临时数组。 不需要Byte[] 可以是int[]Bool[]

        Byte[] bits = new Byte[Ft.Length + 1];
        Ft.CopyTo(bits, 0);
        BitArray New_Ft = new BitArray(bits);

【讨论】:

  • 谢谢。 Ft.CopyTo(bits, 1); 很有趣。不会将新的位数组作为参数。我不明白这是为什么!?
  • @Pam:这是因为BitArray 没有继承自System.Array
  • 是的,当然。正式地。但是为什么在 CopyTo() 中不考虑位数组参数?很自然,经常想将一个位数组复制到另一个位数组中。而不是数组。
  • 如果没有其他聪明的建议或想法,我想我会接受这个。 (即使我不相信这实际上比循环更好,在这一点上。)
  • 最后一个疯狂的镜头:你认为有可能正式“愚弄”(使用某种类型转换器)CopyTo(),以便参数看起来像一个数组吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 2011-04-01
  • 2016-08-23
相关资源
最近更新 更多