Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
内存不足异常C#列表_C#_List_Out Of Memory - Fatal编程技术网

内存不足异常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.. 
}