Tôi đang tạo mẫu một số bộ lọc thu thập C# 3 và đã xem xét điều này. Tôi có một bộ sưu tập các sản phẩm:Khi nào sử dụng một phương pháp mở rộng với lambda trên LINQtoObjects để lọc một bộ sưu tập?
public class MyProduct
{
public string Name { get; set; }
public Double Price { get; set; }
public string Description { get; set; }
}
var MyProducts = new List<MyProduct>
{
new MyProduct
{
Name = "Surfboard",
Price = 144.99,
Description = "Most important thing you will ever own."
},
new MyProduct
{
Name = "Leash",
Price = 29.28,
Description = "Keep important things close to you."
}
,
new MyProduct
{
Name = "Sun Screen",
Price = 15.88,
Description = "1000 SPF! Who Could ask for more?"
}
};
Bây giờ nếu tôi sử dụng LINQ để lọc nó hoạt động như mong đợi:
var d = (from mp in MyProducts
where mp.Price < 50d
select mp);
Và nếu tôi sử dụng ở đâu phương pháp khuyến nông kết hợp với một Lambda bộ lọc hoạt động như tốt:
var f = MyProducts.Where(mp => mp.Price < 50d).ToList();
Câu hỏi: sự khác biệt là gì và tại sao sử dụng một trong khác không?