निम्नलिखित को कैसे परिवर्तित करें 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 एक है कार्यात्मक दृष्टिकोण। तो यह एक उद्देश्य के एक सेट के मूल्यों को लेने और द्वारा एक और सेट बनाने के लिए है प्रक्षेपण, फ़िल्टरिंग और / या एकत्रीकरण, लेकिन बनाने के लिए नहीं दुष्प्रभाव उन तत्वों पर।
आपका कोड जैसा कि यह पठनीय और प्रभावी है, इसे गलत लाइनक्यू स्टेटमेंट में बदलने की आवश्यकता नहीं है।