有没有人发布过更强大的BitArray for .NET?

Dal*_*ard 10 c# generics wpf bitarray

在努力使.NET BitArray类能够满足我的需求之后,我决定在网络上寻找更强大的开源或商业类.令我惊讶的是,我找不到一个.我看到了有关扩展方法的各种建议或解决BitArray功能限制的方法,但没有类似于BitArray的替代品.

我们是通过扩展或更换BitArray来重新发明轮子吗?

理想情况下,替换将具有部分/全部这些功能:

  1. 实现IList<bool>而不仅仅是ICollection.

  2. 可以转换为各种其他类型,如int(最多32位BitArrays),bool(一位BitArrays),double等.

  3. 实现产生字节数组的ToArray类型的方法.它可以参数化为字节序.由于BitArray可以从构造函数中的字节数组参数构造,因此能够将其返回到字节数组似乎是一个很好的闭包.

  4. 能够从中提取子BitArrays.例如,从111101这样的数组中,您可以提取位1到4,从而产生新的BitArray 1110.

  5. 位移运算符.

  6. 处理无限长度的位(就像BitArray那样),但是仍然可以转换为像int这样的有限类型,就像你知道它适合你可以将long转换为int一样.

  7. ?__我打赌人们的愿望清单上还有很多其他项目.

你知道那里有任何开源或商业实现吗?如果它是开源的,那么拥有Apache,MIT或Ms-Pl等非互易许可证会很不错.

Tej*_*ejs 5

也许您正在System.Numerics命名空间中寻找BigInteger?它看起来确实可以满足您的要求。

  • 需要.NET Framework 4.0。 (2认同)
  • 我认为他正在寻找与BitArrays特别相关的东西 (2认同)
  • @IDWMaster:`BigInteger`类使您达到70%左右,其中包括位移操作。其余30%可以通过一些精心设计的扩展方法来实现。 (2认同)