我正在做一个项目,在某个时刻我需要显示一个月内哪些天仍然可用。有一个函数可以计算哪些天可用。我的同事说:“哦,我们知道,你应该返回一个 BitVector32
。这是处理 boolean 值列表时最有效的。”我会使用 List<bool>
或类似的东西。一个 BitVector32
在我看来,当您实际使用位时,它是用于低级东西的东西。
所以,问题是。您是否应该使用 BitVector32
每当您需要一些少于 32 个项目的 boolean 值列表时,还是应该仅将其用于低级内容?
最佳答案
使用列表很容易扩展到其他时间段。假设您想一次展示两个月。哦,这比 32 大。我需要更改返回类型以及使用它的所有地方。伟大的!和 BitVector32
甚至没有实现 IEnumerable<T>
.
除非它处于紧密循环中,否则可读性和可维护性最高。列表分配的开销并没有那么大,除非你每秒执行一百万次。
所以我同意你应该只将 BitVector32 用于低级代码。
关于.net - 我什么时候应该使用 BitVector32?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094350/