.NET 3.5 中是否有支持超过 2 ^ 31 个项目的集合类或特殊数据类型?
我目前使用VS 2008 64位版本,3.5框架和SP1。但是,像 List 这样的集合类似乎可以包含 2^31(或 int 的最大值)元素的限制。
有谁知道是否有真正的 64 位集合可以处理容器内超过 2^31 个元素?如果不是 VS 2008,那 VS 2010 呢?有没有第三方集合可以做到这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我非常确定没有内置集合可以处理超过
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.