c# - 是否有人为 .NET 发布了更强大的 BitArray?

标签 c# wpf generics bitarray

<分区>

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

我们是否都在通过扩展或替换 BitArray 来重新发明轮子?

理想情况下,替代品应具有以下部分/全部功能:

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

  2. 可以转换为各种其他类型,例如 int(对于最多 32 位的 BitArray)、bool(对于一位的 BitArray)、double 等。

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

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

  5. 位移运算符。

  6. 处理不定长度的位(就像 BitArray 那样),但仍然可以转换为有限的类型,例如 int,就像您可以将 long 转换为 int 一样,如果您知道它适合的话。

  7. ?__ 我敢打赌,人们的愿望 list 上还有很多其他项目。

您知道那里有任何开源或商业实现吗?如果它是开源的,那么拥有非互惠许可(例如 Apache、MIT 或 Ms-Pl)会很好。

最佳答案

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

关于c# - 是否有人为 .NET 发布了更强大的 BitArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5810004/

相关文章:

c# - EF 不要在 BindingSource 中使用 IQueryable 保存

wpf - 检测 CollectionView 何时刷新

wpf - 可见性已折叠,在 UI 中留下少许空间

接口(interface)中方法的java泛型类型参数

java - 如何测试接口(interface) Foo<Bar> 是否是来自 Baz 的 "assignable"?

C# 类,导出到 Excel

c# - 在自定义AuthorizeAttribute中抛出HttpException(401)是否可以?

c# - 具有默认值的 XmlSerializer 和 List<T>

c# - 如何在不丢失 session 的情况下更新 asp net webforms 或 mvc 应用程序?

wpf - XamlReader 生成 DataTemplate 的问题