在努力使.NET BitArray类能够满足我的需求之后,我决定在网络上寻找更强大的开源或商业类。令我惊讶的是,我找不到一个。我看到了有关扩展方法的各种建议或解决BitArray功能限制的方法,但没有类似于BitArray的替代品。
我们都是通过扩展或替换BitArray来重新发明轮子吗?
理想情况下,替代者会拥有部分/全部这些功能:
实施IList<bool>
而非ICollection
。
可以转换为各种其他类型,例如int(最多32位BitArrays),bool(一位BitArrays),double等等。
实现产生字节数组的ToArray类型的方法。它可以参数化为字节序。由于BitArray可以从构造函数中的字节数组参数构造,因此能够将其返回到字节数组似乎是一个很好的闭包。
能够从中提取子BitArrays。例如,从111101这样的数组中,您可以提取位1到4,产生一个新的BitArray为1110.
位移运算符。
处理无限长度的比特(比如BitArray),但是仍然可以转换为像int这样的有限类型,就像你知道它适合你可以将long转换为int一样。
?__ 我打赌人们的愿望清单上还有很多其他项目。
你知道那里有任何开源或商业实现吗?如果它是开源的,那么拥有Apache,MIT或Ms-Pl等非互易许可证会很不错。