在我的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。