如果我没有错,ToList()方法会迭代所提供集合的每个元素,并将它们添加到List的新实例并返回此实例.假设示例
//using linq
list = Students.Where(s => s.Name == "ABC").ToList();
//traditional way
foreach (var student in Students)
{
if (student.Name == "ABC")
list.Add(student);
}
Run Code Online (Sandbox Code Playgroud)
我认为传统的方法更快,因为它只循环一次,其中Linq的上面迭代两次一次用于Where方法然后用于ToList()方法.
我正在研究的项目现在已经广泛使用了Lists,我发现如果我将列表变量作为IEnumerable并删除.ToList,有很多类似的使用ToList()和其他方法可以像上面那样做得更好. ()并将其作为IEnumerable进一步使用.
这些事情会对性能产生什么影响?