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