Nếu tôi giải thích tính năng ForEach sau cho ai đó, có phải chính xác để nói rằng số 2 là phương pháp "LINQ foreach" "hoặc đơn giản là" List<T>
phương pháp mở rộng "không được liên kết chính thức với LINQ ?Phần nào của ngôn ngữ C# là .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()));
Kiểm tra bài đăng này từ Eric Lippert http://blogs.msdn.com/b/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx –
Cần lưu ý rằng số 2 của bạn sẽ lặp lại các mục hai lần - một lần để tạo danh sách và một lần cho phương thức ForEach.Nếu bạn muốn sử dụng kiểu mã đó, điều này hoàn toàn hợp pháp, bạn nên viết phương thức mở rộng ForEach của riêng mình trên IEnumerable. –