struct SomeStruct
{
//some fields, store ~3kb
}
List<SomeStruct> lst = new List<SomeStruct>();
for (int i = 0; i < int.MaxValue; i++)
lst.Add(new SomeStruct(/*...*/)); //somewhere we get OutOfMemory exception
所以...我希望它使用虚拟内存并继续工作,而不是异常
最佳答案
我很确定你做不到。虚拟内存背后的想法是程序无法区分。如果您遇到 OutOfMemory 异常,则意味着操作系统告诉您“您无法再获得”,包括虚拟内存。
如果有的话,您需要修改操作系统中的设置以及它如何处理虚拟内存。
关于.net - 当 .net 中的 RAM 耗尽时,是否有强制程序使用页面文件虚拟内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13166144/