C# · 12月 23, 2021

c# – LINQ建议 – 使用ToList().ForEach而不是’经典’ForEach迭代

我想使用LINQ的ForEach构造,我不知道如何转换以下内容.

我目前的实施:

var employees = (from e in employeeDepartmentList select e.Employee).ToList();employeeList = new EmployeeList();foreach (var emp in employees){ employeeList.Add(emp);}

我在想这样的事情:

employeeList = new EmployeeList();var employees = (from e in employeeDepartmentList select e.Employee).ToList().ForEach(emp => employeeList.Add(emp));解决方法 ForEach不是LINQ方法,它是List<>的方法.在这个简单的场景中,为什么要使用它呢? employeeList.AddRange(员工)会更简单.更进一步,如果员工已经是一个列表,你需要employeeList吗?

至于有关使用foreach与ForEach的更多建议,请参阅:http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx