性能IEnumerable. tolist (). foreach () over循环
本文关键字:foreach over 循环 tolist IEnumerable 性能 | 更新日期: 2023-09-27 18:08:43
这两个语句在性能上有什么区别吗?
IEnumerable<T>.ToList().ForEach(x => Console.WriteLine(x));
和
foreach (var obj in IEnumerable<T>)
Console.WriteLine(obj)
在第一个示例中,您将
- 通过枚举源 创建列表
- 通过新列表枚举,并对每个元素调用
Console.WriteLine
。
- 枚举源,对每个元素调用
Console.WriteLine
。
第一个比第二个有两个性能损失:
- 创建新的
- 双枚举:遍历原始源,然后列表
List
对象