/ / Foreach को linq में बदलने के लिए [अनुलिपि] - c #, asp.net, linq, c # -4.0, foreach

Foreach को linq में परिवर्तित करने के लिए [डुप्लिकेट] - सी #, asp.net, linq, सी # -4.0, foreach

निम्नलिखित को कैसे परिवर्तित करें c# foreach सेवा मेरे linq कोड?

var structure = "names structure";
var names = "name1, name2, name3";
foreach (var name in namesList)
{
BuildPage(name, structure, names);
}

उत्तर:

जवाब के लिए 3 № 1

अनाज के खिलाफ जा रहे हैं, आप का उपयोग कर सकते हैं .ForEach पाश जो एक लेता है Action पैरामीटर।

namesList.ForEach(x => BuildPage(x, structure, names));

लेकिन हाँ, क्या Rene Vogt कहाँ थे।


जवाब के लिए 3 № 2

इसे LINQ में बदलने की कोई आवश्यकता नहीं है।

आप यहां क्या करते हैं, प्रत्येक के लिए एक क्रिया / कॉल शुरू करना है name में namesList (जैसा आपका कोड कहता है)। इसलिए आप अपने संग्रह में सभी तत्वों के लिए साइड इफेक्ट बनाना चाहते हैं।

LINQ एक है कार्यात्मक दृष्टिकोण। तो यह एक उद्देश्य के एक सेट के मूल्यों को लेने और द्वारा एक और सेट बनाने के लिए है प्रक्षेपण, फ़िल्टरिंग और / या एकत्रीकरण, लेकिन बनाने के लिए नहीं दुष्प्रभाव उन तत्वों पर।

आपका कोड जैसा कि यह पठनीय और प्रभावी है, इसे गलत लाइनक्यू स्टेटमेंट में बदलने की आवश्यकता नहीं है।