我有一个相当简单的C#应用程序,构建了一个大的哈希表。这个哈希表的键是字符串,值是整数。
程序运行良好,直到添加了约1030万个项到哈希表时,就会在添加项到哈希表的那一行抛出内存不足错误。
根据任务管理器的显示,我的程序只使用了797mb的内存,还有超过2gb可用。这是一台32位机器,因此我知道一个进程只能使用2gb的内存,但仍然留下了大约1.2gb的空间可以扩展哈希表。
为什么会抛出内存不足错误?
程序运行良好,直到添加了约1030万个项到哈希表时,就会在添加项到哈希表的那一行抛出内存不足错误。
根据任务管理器的显示,我的程序只使用了797mb的内存,还有超过2gb可用。这是一台32位机器,因此我知道一个进程只能使用2gb的内存,但仍然留下了大约1.2gb的空间可以扩展哈希表。
为什么会抛出内存不足错误?
Hashtable
吗?你应该尝试使用其他集合,比如Dictionary<string,int>
。 - John Saunders