c# - Use Linq and lambda to flatten a list -
मेरे पास एक वर्ग है।
पब्लिक क्लास मेडिकल रिक्वेस्ट {निजी इंट आईडी निजी आईआईएलआईटी & lt; मेडिकलडिज़ एंड जीटी ; दिन निजी स्ट्रिंग MedicalUser ...}
और अन्य
सार्वजनिक कक्षा MedicalDays {निजी आईआईटी; निजी समयसीमा? दिन निजी मेडिकल अनुरोध अनुरोध ...}
मेरे पास मेडिकल यूज़र है इसलिए मैं
IList & lt; MedicalRequest & gt; ReqList = dao.FindAll (उदाहरण);
इस बिंदु पर मैं क्या करने में सक्षम होना चाहता हूँ, मेडिकल दिवस की सूचियों को समतल कर देता है और दिनांक का समय वापस आ जाता है।
कुछ ऐसा
आईआईएलआईटी & lt; दिनांकटाइम & gt; DateList = reqList.SelectMany (i = & gt; i.MedicalDays.day);
क्या कोई मुझे सही दिशा में एक धक्का दे सकता है?
आपके समय के लिए धन्यवाद
आप लगभग वहां हैं:
IEnumerable & lt; DateTime? & Gt ; DateList = reqList.SelectMany (i = & gt; i.MedicalDays)। चुनें (एम = & gt; m.day);
या:
<पूर्व> IEnumerable & lt; दिनांकटाइम? & Gt; DateList = reqList.SelectMany (i = & gt; i.MedicalDays, (i, एम) = & gt; m.day); - यदि आपको
IList & lt; T & gt;
की बजाय IEnumerable & lt; T & gt;
की आवश्यकता है तो आप ToList )
परिणाम -
यदि आपको DateTime
के बजाय DateTime?
के साथ काम करने की आवश्यकता है यह:
<पूर्व> IEnumerable & lt; दिनांकटाइम? & Gt; DateList = reqList.SelectMany (i = & gt; i.MedicalDays)। चयन करें (m = & gt; m.day)। जहां (एक्स = & gt; x.HasValue)। चयन (x = & gt; x.Value);
Comments
Post a Comment