मैं कुछ सी # 3 संग्रह फ़िल्टर प्रोटोटाइप कर रहा हूं और इस पर आया हूं। मैं उत्पादों की एक संग्रह है:संग्रह को फ़िल्टर करने के लिए LINQtoObjects पर लैम्ब्डा के साथ एक एक्सटेंशन विधि का उपयोग कब करें?
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?"
}
};
अब अगर मैं LINQ यह उम्मीद के रूप में काम करता है फिल्टर करने के लिए उपयोग करें:
var d = (from mp in MyProducts
where mp.Price < 50d
select mp);
और अगर मैं एक लैम्ब्डा के साथ संयुक्त कहाँ विस्तार विधि का उपयोग फिल्टर के रूप में काम करता है अच्छी तरह से:
var f = MyProducts.Where(mp => mp.Price < 50d).ToList();
प्रश्न: क्या अंतर है, और क्यों एक दूसरे के ऊपर का उपयोग करें?