मुझे पता है कि मेरे पास एक ही मूल्य के साथ आईडी नहीं होना चाहिए। यह सिर्फ कल्पित है, इसलिए इसे अनदेखा करें।लैम्बडा अभिव्यक्ति का उपयोग करके ऑब्जेक्ट्स की सूची कैसे फ़िल्टर कर सकता हूं?
मेरे पास है:
-- Id: 1, Name: Honda -- Id: 1, Name: Nissan
समस्या अधिक छानने है:
List<Car> carList = new List<Car>();
carList.Add(new Car() { id = 1, name = "Honda" });
carList.Add(new Car() { id = 2, name = "Toyota" });
carList.Add(new Car() { id = 1, name = "Nissan" });
मैं लैम्ब्डा अभिव्यक्ति का उपयोग करने की 1.
पूर्वानुमानित परिणाम एक आईडी है कि सभी कारों प्राप्त करना चाहते हैं एक विदेशी कुंजी के आधार पर एक वस्तु सूची।
IEnumerable<Car> matchingCars = carList.Where(car => car.id == 1);
List<T>.FindAll
का उपयोग करना::
मैं LINQ वरीयता से सहमत नहीं हूं, आपको सबसे पहले आलसी शुरू करने के लिए गीलेर तय करने से पहले कोड के संदर्भ को जानने की आवश्यकता है .... –
@Tim: मैं आमतौर पर LINQ का उपयोग ' ToList 'कॉल बाद में अगर मैं उत्सुक मूल्यांकन चाहता था, बस एक स्थिरता के लिए। कुछ मामलों में FindAll थोड़ा सा सरल हो सकता है, हालांकि यह आपको केवल 'IEnumerale' की आवश्यकता के बजाय स्रोत के रूप में 'सूची ' रखने के लिए सीमित करता है। –