.NET 3.5 中是否有支持超过 2 ^ 31 个项目的集合类或特殊数据类型?

发布于 2024-11-07 06:59:26 字数 167 浏览 0 评论 0 原文

我目前使用VS 2008 64位版本,3.5框架和SP1。但是,像 List 这样的集合类似乎可以包含 2^31(或 int 的最大值)元素的限制。

有谁知道是否有真正的 64 位集合可以处理容器内超过 2^31 个元素?如果不是 VS 2008,那 VS 2010 呢?有没有第三方集合可以做到这一点?

I am currently using VS 2008 64 bit edition, 3.5 framework with SP1. However, it appears that the collection classes like List have a limit of 2^31 (or max value of an int) elements that it can contain.

Does anyone know if there are any true 64 bit collections that can handle more than 2^31 elements within a container? If not for VS 2008, then what about VS 2010? Any 3rd party collections out there that do this?

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

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

发布评论

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

评论(1

倒带 2024-11-14 06:59:26

我非常确定没有内置集合可以处理超过 Int32.MaxValue 条目。原因是,即使对于 64 位版本,.NET Framework 仍然对对象有约 2GB 的限制。一字节的 Int32.MaxValue 条目会超出此限制。我相信 Mono 的内存限制更大,但我不能肯定地证实这一点。

您可以使用 BigArray 实现来解决此限制="noreferrer">这里

I am pretty sure there are no builtin collections that can handle more than Int32.MaxValue entries. The reason is because the .NET Framework still has ~2GB limit for objects even for the 64-bit version. Int32.MaxValue entries of one byte bumps up against this limit. I believe Mono's memory limit is larger, but I cannot definitely confirm that.

You can work around this limitation using the BigArray implemenation from here.

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