Si estoy explicando la siguiente característica ParaCada a alguien, ¿es correcto decir que # 2 es el "enfoque foreach LINQ" o es simplemente un "List<T>
método de extensión" que no está asociada oficialmente con LINQ ?¿Qué parte del lenguaje C# es .ForEach()?
var youngCustomers = from c in customers
where c.Age < 30
select c;
//1. traditional foreach approach
foreach (var c in youngCustomers)
{
Console.WriteLine(c.Display());
}
//2. LINQ foreach approach?
youngCustomers.ToList().ForEach(c => Console.WriteLine(c.Display()));
Revise esta publicación de Eric Lippert http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx –
Vale la pena señalar que su # 2 recorrerá el artículos dos veces: una para crear la lista y una para el método ForEach.Si desea utilizar ese estilo de código, que es perfectamente legítimo, es mejor que escriba su propio método de extensión ForEach en IEnumerable. –