Вы не должны использовать ForEach
таким образом. Прочитайте «foreach» Липперта против «ForEach»
Если вы хотите быть жестоким с собой (и миром), по крайней мере, не создавайте бесполезных List
employees.All(p => {
collection.AddRange(p.Departments);
p.Departments.All(u => { u.SomeProperty = null; return true; } );
return true;
});
Обратите внимание, что результатом выражения All
является значение bool
, которое мы отбрасываем (мы используем его только потому, что оно «циклизирует» все элементы)
Я повторюсь. Вы не должны использовать ForEach
для изменения объектов. LINQ следует использовать «функциональным» способом (вы можете создавать новые объекты, но вы не можете изменять старые объекты или создавать побочные эффекты). И то, что вы пишете, создает столько бесполезных List
только для того, чтобы получить две строки кода ...