网站优化技巧,做电影网站放抢先版,免费网站建设朋友交流,台州网站制作公司yield return有以下优点#xff1a; 每次迭代时生成一个值#xff0c;并且在下次迭代时继续从上次离开的地方开始。 延迟执行#xff1a;只有在实际需要时才会生成下一个值#xff0c;这对于处理大量数据非常有用。 节省内存#xff1a;不需要一次性将所有数据加载到内存中…yield return有以下优点 每次迭代时生成一个值并且在下次迭代时继续从上次离开的地方开始。 延迟执行只有在实际需要时才会生成下一个值这对于处理大量数据非常有用。 节省内存不需要一次性将所有数据加载到内存中。 IEnumerableint GenerateSequence(int max)
{for (int i  0; i  max; i){Thread.Sleep(300);yield return i;}
}Listint GenerateSequence1(int max)
{Listint ints  new Listint();for (int i  0; i  max; i){Thread.Sleep(300);ints.Add(i);}return ints;
}// 使用
foreach (var number in GenerateSequence1(100000))
{Console.WriteLine(number);
}foreach (var number in GenerateSequence(100000))
{Console.WriteLine(number);
}结果就是GenerateSequence1 会卡死,GenerateSequence 每有一个元素进入IEnumerable, 都会打印出来