我想在32位操作系统上为整数哈希表声明数组2 ^ 32大小。请问我该怎么办? 它给了我内存异常。
答案 0 :(得分:2)
你根本无法做到这一点。在32位CLR中,所有对象的大小必须小于2GB。
即使在64位CLR中,您也必须指定一个特殊标志来启用更大的数组(<gcAllowVeryLargeObjects>
) - 如果您的数组是一个整数数组,那么您实际上要求的是16GB。您似乎不太可能在32位操作系统上拥有那么多物理内存。
你可以通过制作一个符合逻辑的&#34;来在一定程度上解决这个问题。数组由多个较小的数组组成,但我很少将其视为一个好主意。基本上,您应该重新设计或使用更适合您要求的操作系统。我怀疑重新设计可能是最好的方法。