foreach (वर व्यक्ति peopleList.Where में (व्यक्ति => person.FirstName == "मेसी")) { selectPeople.Add (व्यक्ति); }को सरल बनाने - मूल चयन
मैं सोच रहा हूं कि LINQ का उपयोग करके इसे सरल बनाने का कोई तरीका है या नहीं।
तरह के बजाय सभी लोगों को मैं LINQ उपयोग करने के लिए बस "मेसी" के साथ एक सूची को भरने के लिए कोशिश कर रहा था देखो ... कुछ की तरह कोशिश कर रहा था ...
var selectPeople = peopleList.Select(x=>x.FirstName=="Messi");
मैं बिना चेक के उस सूची में सभी को जोड़ सकता हूं। लेकिन यह योजना के रूप में काफी काम नहीं करता है।
शायद उस अभिव्यक्ति को सरल बनाने में कोई बात नहीं है। लेकिन सवाल यह है कि मैं अपने LINQ ज्ञान को मजबूत करने के लिए सार्थक लग रहा था।
मैं अब मिल गया है 'वर selectPeople = peopleList.Where (व्यक्ति => person.Name ==" मेसी ") ToList() ; 'तो मुझे लगता है कि सवाल वास्तव में चयन और चयन का उपयोग करने के बारे में है – baron
' SelectMany' का उपयोग तब किया जाता है जब प्रत्येक आइटम एकाधिक परिणाम लौटा सकता है और आप उन्हें एक परिणाम परिणाम में जोड़ना चाहते हैं। जैसे 'IENumerable allChildren = person.SelectMany (person => person.GetChildren()); 'आपको अपने उदाहरण के साथ इसकी आवश्यकता नहीं है। –
इसके अलावा, जब आप क्वेरी अभिव्यक्ति के बजाय लैम्बडास के साथ विस्तार विधियों का उपयोग कर रहे हैं तो 'चयन' अक्सर अनावश्यक होता है। लेकिन अगर आप ऑब्जेक्ट को किसी अन्य चीज़ में प्रोजेक्ट करना चाहते हैं, तो 'चुनें' का उपयोग करें। उदाहरण के लिए, यदि आप केवल प्रथम नाम की सूची चाहते हैं, तो फर्स्टनाम "मेस्सी" के बराबर होता है, तो आप 'peopleList.Where (p => p.FirstName == "Messi") जैसे कुछ करेंगे। चुनें (p => p.LastName) ; ', जिसके परिणामस्वरूप 'IENumerable' दिए गए मानदंडों से मेल खाने वाले सभी लोगों के अंतिम नामों का प्रतिनिधित्व करना चाहिए। –