2010-10-17 30 views
38

मैं एक तरह से निम्नलिखित कोड को बदलने के लिए देख रहा हूँ:मल्टी लाइन foreach पाश

contacts.ForEach(c => c.ID = 0; c.GroupID = 0; c.CompanyID = 0); 
:

foreach (Contact _contact in contacts) 
{ 
    _contact.ID = 0; 
    _contact.GroupID = 0; 
    _contact.CompanyID = 0; 
} 

मैं करने के लिए कुछ इसी तरह में इस का उपयोग कर LINQ/लैम्ब्डा परिवर्तन करना चाहते हैं

हालांकि यह काम नहीं करता है। क्या एक लाइन में ऐसा करने के लिए फ़ंक्शन लिखकर लिनक फोरैच में बहु-रेखा करने का कोई तरीका है?

उत्तर

61
contacts.ForEach(c => { c.ID = 0; c.GroupID = 0; c.CompanyID = 0; }); 

इसमें LINQ प्रति से कोई संबंध नहीं है; यह फ़ंक्शन (जो LINQ से पहले 2.0 से पहले मौजूद था) में पास लैम्ब्डा सिंटैक्स में लिखा गया एक साधारण अज्ञात विधि है। अर्थात निकालने या एक नया सेट में एक दृश्य बदलने, मूल से छेड़छाड़ नहीं - जो इसे क्वेरी करने के लिए है का मतलब है -

+0

सरल, धन्यवाद! – shlomoa

3

LINQ भाषा समन्वित क्वेरी के लिए खड़ा है।

ForEach method hangs off List<T> और पूर्वानुमान के लिए एक सुविधा शॉर्टकट है; कुछ खास नहीं।

संबंधित मुद्दे