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

2023-09-08 00:02:37 作者:醉绾青丝蛊

我目前使用VS 2008 64位版本,3.5框架SP1的我。然而,似乎像列表中的集合类有2 ^ 31(或int的最大值)的限制因素,它可以包含。

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.

有谁知道,如果有任何真正的64位的集合,可以处理容器内超过2 ^ 31元?如果不是因为VS 2008,那么怎么样VS 2010?任何第三方集合在那里,做到这一点?

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?

推荐答案

我是pretty的确定有没有内置的集合,可以处理超过 Int32.MaxValue 条目。究其原因是因为.NET Framework仍然有〜2GB的限制,即使是64位版本的对象。 一个字节的Int32.MaxValue 项颠簸起来反对这个限制。我相信Mono的内存限制较大,但我不能肯定确认。

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.

您可以解决此限制使用 BigArray 从实行的这里。

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