Performance IEnumerable<T>.ToList().ForEach() over loop
本问题已经有最佳答案,请猛点这里访问。
这两种说法有什么不同吗?
| 1 | IEnumerable<T>.ToList().ForEach(x => Console.WriteLine(x)); | 
和
| 1 2 | foreach (var obj in IEnumerable<T>) Console.WriteLine(obj) | 
在第一个示例中,您将
在第二个示例中,您将
对第一个和第二个的绩效惩罚有两种:
- 新List 对象的创建
- 双重枚举:在原始源上,然后是列表