.net - 我什么时候应该使用 BitVector32?

标签 .net boolean base-class-library bitvector

我正在做一个项目,在某个时刻我需要显示一个月内哪些天仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个 BitVector32 。这是处理 boolean 值列表时最有效的。”我会使用 List<bool> 或类似的东西。一个 BitVector32 在我看来,当您实际使用位时,它是用于低级东西的东西。

所以,问题是。您是否应该使用 BitVector32 每当您需要一些少于 32 个项目的 boolean 值列表时,还是应该仅将其用于低级内容?

最佳答案

使用列表很容易扩展到其他时间段。假设您想一次展示两个月。哦,这比 32 大。我需要更改返回类型以及使用它的所有地方。伟大的!和 BitVector32甚至没有实现 IEnumerable<T> .

除非它处于紧密循环中,否则可读性和可维护性最高。列表分配的开销并没有那么大,除非你每秒执行一百万次。

所以我同意你应该只将 BitVector32 用于低级代码。

关于.net - 我什么时候应该使用 BitVector32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094350/

相关文章:

c# - .NET 的替代方案提供了关于 uris 和 url 的 api

c++ - 重载 boolean/字符串歧义

c++ - 通过右移测试位与左移相同的速度?

.net - 明显的 F#/BCL 浮点错误

.net - 实现和使用 ICommand 接口(interface),MVVM

.net - 如何查看实体集和未提交的更改?

c++ - 矩形多边形的 boolean 运算

.net - 为什么 TimeSpan.FromSeconds(double) 四舍五入到毫秒?

c# - 不一致的行为 : no exception is thrown in the List<T>. 在 foreach 循环中调用时的排序方法

c# - 如何解释 BenchmarkDotNet 和 dotMemory 的结果?