Wenn ich die folgende FürJeden Funktion jemand erklären, ist es richtig zu sagen, dass # 2 der „LINQ foreach Ansatz“ ist oder ist es einfach eine „List<T>
Erweiterungsmethode“, die nicht offiziell mit LINQ zugeordnet ist, ?Welcher Teil der C# -Sprache ist .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()));
Überprüfen Sie diesen Beitrag von Eric Lippert http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx –
Es ist erwähnenswert, dass Ihre # 2 Schleife durch die Elemente zweimal - einmal zum Erstellen der Liste und einmal für die ForEach-Methode.Wenn Sie diesen völlig legitimen Code verwenden möchten, schreiben Sie besser Ihre eigene ForEach-Erweiterungsmethode für IEnumerable. –