C#字典<long,long =“”>,具有多个47.995.853值

时间:2018-12-08 11:06:34

标签: c# dictionary

在我的Dictionary<long, long>中添加多个47995853值时,即使我没有内存不足,也会收到OutOfMemoryException。 (显然,这是由于哈希集限制吗?)。

如何最好地解决此问题?有没有可以接受更多项目的实现?

在我的应用程序中,我将需要多达1亿多件商品。我当然考虑过将其拆分为多个词典,或者将值保留在文件中,然后阅读我需要的内容。但是,由于程序的性质,我需要在或多或少的随机位置上输入值,并且需要快速 ...

我尝试仅从.net核心源复制并粘贴Dictionary,但是它依赖于许多内部类,因此这将很繁琐...

要复制的示例代码:

var dict = new Dictionary<long, long>();
for (long i = 0; i < long.MaxValue; i++)
    dict[i] = i;

将始终崩溃为值47995853

编辑:x64进程,已启用gcAllowVeryLargeObjects。

0 个答案:

没有答案