什么时候应该使用BitVector32?

Mat*_*els 5 .net boolean bitvector base-class-library

我正在做一个项目,在某个时刻我需要显示一个月的时间,这些天仍然可用。有一个功能可以计算哪些日期可用。我的同事说:“哦,我们知道,您应该返回a BitVector32。这是使用布尔值列表时最有效的方法。” 我会用一个List<bool>或类似的东西。BitVector32在您实际使用位时,对我而言,A 似乎是低级内容。

所以,问题是。您是否应该BitVector32在需要少于32个布尔值的布尔值列表时使用Every,还是仅将其用于低级内容?

Cod*_*aos 5

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

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

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