.Net对象大小限制

jle*_*ard 4 .net

对于.Net中的对象,似乎有2 GB的大小限制:如何在64位中运行Fsi.exe?

有没有解决这个问题?我想在内存中加载一个非常大的浮点数组(10 GB),然后做一些工作.

谢谢

Bri*_*sen 10

即使在64位平台上,.NET也将任何对象限制为最大2 GB.您可以创建自己的数据类型,使用多个对象来存储更多数据,从而绕过单个对象的2 GB限制.例如,a List<float[]>允许您存储超过2 GB,但您必须编写必要的管道代码,使其行为类似于单个大型数组.

您可能还想查看此问题.


Mar*_*ell 5

在4.5之前的.NET版本中,最大对象大小为2GB。从4.5开始,如果启用了gcAllowVeryLargeObjects,则可以分配更大的对象。请注意,的限制string不会受到影响,但是“数组”也应涵盖“列表”,因为列表由数组支持。

  • gcAllowVeryLargeObjects是否有上限? (4认同)