大量布尔值有拳击问题吗?还有其他选择吗?

发布于 2024-11-05 08:49:51 字数 231 浏览 4 评论 0原文

我需要一个布尔值列表(大小从 200 到 200k 之间)。如果我使用 System.Collections.Generic.List我将遇到严重的拳击问题(如果我错了,请纠正我)。

有哪些替代方案? (当然我知道我可以使用布尔数组,但我需要能够轻松地从数组中添加和删除内容)

编辑:

我的另一个问题是(与最重要的问题类似)如果我需要一个整数列表怎么办,我有什么解决办法?

I need a list of booleans (size anywhere from 200 to 200k). If i use System.Collections.Generic.List<bool> I'm going to suffer from serious boxing issues (correct me if I'm wrong).

What are the alternatives? (of course i know i can use a boolean array but i need to be able to add and remove things easily from the array)

Edit:

another question i have is (similarly to the top question,) what if i need a list of integers, what solutions do i have?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏日落 2024-11-12 08:49:51

据此:

http://www.dijksterhuis.org/exploring-boxing/

通用列表完全消除了装箱问题。

另外,我多次在列表中保存许多整数、字符串等,没有出现性能问题。事实上,我以前持有过 1,000,000 美元,没有任何问题。

According to this:

http://www.dijksterhuis.org/exploring-boxing/

The generic list completely removes the boxing issues.

Also, I've held that many ints, strings, etc in a List many times with no performance issues. In fact, I've held up to 1,000,000 before without a problem.

最后的乘客 2024-11-12 08:49:51

尝试使用 BitArray 类:http://msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx" rel="nofollow">http:// /msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx

编辑:如果您担心空间问题,BitArray小 8 倍列表BitArray 将为每个布尔值使用一位,而 List 将为每个布尔值使用 8 位。

Try the BitArray class: http://msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx

Edit: If space is your concern, the BitArray is 8 times smaller than a List<bool>. A BitArray will use one bit per boolean, whereas a List<bool> will use 8 bits per boolean.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文