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

时间:2011-04-27 20:16:06

标签: c# wpf generics 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. ?__ 我打赌人们的愿望清单上还有很多其他项目。

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

1 个答案:

答案 0 :(得分:4)

也许您正在System.Numerics命名空间中查找BigInteger?当然看起来它可以做任何你要求的事情。