内存不足异常C#列表
既然这个范围(在代码中)显示内存不足异常,我应该如何列出它内存不足异常C#列表,c#,list,out-of-memory,C#,List,Out Of Memory,既然这个范围(在代码中)显示内存不足异常,我应该如何列出它 namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var l1 = Enumerable.Range(999900000, 1000000000).ToList(); l1.ForEach(f => Console.Writ
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var l1 = Enumerable.Range(999900000, 1000000000).ToList();
l1.ForEach(f => Console.WriteLine(f));
}
}
}
不要转换为
列表
,只需列举:
var l1 = Enumerable.Range(999900000, 1000000000);
foreach(var f in l1)
Console.WriteLine(f);
不要收集列表中所需的所有数据,尤其是如果您已经知道列表的内容,请使用枚举器,以这种方式减少应用程序的内存占用 例如:
IEnumerable<int> GetNextInt()
{
for(int i=999900000; i< 1000000000; i++)
{
yield return i;
}
}
您运行的是32位版本还是64位版本?可能与惰性计算的目的完全相同:-)
foreach(var integer in GetNextInt())
{
//do something..
}