c# - Convert or map a class instance to a list of another one by using Lambda or LINQ? -


मेरे पास निम्न दो वर्ग हैं:

  class MyData {सार्वजनिक सूची & lt; string & gt; प्रॉपर्टीलिस्ट {प्राप्त; निजी सेट;} सार्वजनिक स्ट्रिंग PropertyB {get; सेट; } सार्वजनिक स्ट्रिंग PropertyC {get; सेट; }} वर्ग MyData2 {सार्वजनिक स्ट्रिंग PropertyA {get; सेट;} सार्वजनिक स्ट्रिंग PropertyB {get; सेट; } सार्वजनिक स्ट्रिंग PropertyC {get; सेट; }}  

अगर मेरे पास MyClass का एक उदाहरण है, तो मुझे इसे MyData2 की सूची में बदलने की आवश्यकता है I मैं इसे MyData.PropertyList को लूपिंग करके और अन्य प्रॉपर्टी वैल्यू को कैशिंग कर सकता हूं और उन्हें MyData2 की एक सूची में डालने का काम कर सकता हूं:

  string propertyB = myData.PropertyB; स्ट्रिंग propertyC = myData.PropertyC; सूची के & lt; MyData2 & gt; MyData2List = नई सूची & lt; MyData & gt; (); Foreach (myData.PropertyList में स्ट्रिंग आइटम) {myData2List.Add (नया myData2 () {आइटम, propertyB, propertyC}); }  

सुनिश्चित करें कि यह LINQ या लम्बेडा अभिव्यक्ति की नेट 3.5 सुविधाओं के साथ किया जा सकता है?

यह अच्छा और आसान है आप किसी विशेष सूची में हर वस्तु (एक स्ट्रिंग) के आधार पर कुछ करना चाहते हैं, इसलिए अपने क्वेरी अभिव्यक्ति का प्रारंभिक बिंदु बनाओ। आप प्रत्येक स्ट्रिंग के लिए एक नया आइटम (एक MyData2 ) बनाना चाहते हैं, ताकि आप प्रक्षेपण का उपयोग कर सकें। आप अंत में एक सूची बनाना चाहते हैं, इसलिए आप नौकरी खत्म करने के लिए ToList () को कॉल करें:

  var myData2List = myData.PropertyList। चयन करें (x = & gt ; नया मायडाटा 2 {संपदाए = एक्स, प्रॉपर्टीबी = मायडाटा.प्रॉपर्टीबी, प्रॉपर्टीसी = मायडाटा.प्रॉपर्टी सी}) .ओलिस्ट ();  

Comments

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -