c# - Merging two lists in linq without anonymous type -


मेरे पास: var list = IEnumerable & lt; MergedData & gt; जहां

 < कोड> सार्वजनिक वर्ग मर्जडेटा {सार्वजनिक एए; सार्वजनिक बी बी; } सार्वजनिक वर्ग ए {सार्वजनिक इन्ट आईडी; सार्वजनिक स्ट्रिंग मान; } सार्वजनिक वर्ग बी {सार्वजनिक इन्ट आईडी; सार्वजनिक स्ट्रिंग मान; }  

मैं ऐसा क्या कर सकता हूं कि मैं A.Id, A.Value, B.Id, B.Value बिना एक गुमनाम प्रकार बना रहा है?

मुझे विलय की प्रक्रिया विशिष्ट प्रकार और B

आप अनाम रूप से क्यों नहीं उपयोग कर सकते हैं?

  var परिणाम = सूची। चयन करें (आइटम = & gt; नया {एआईडी = आइटम.ए.आईडी, AValue = item.A.Value, बीआईडी ​​= आइटम.बी.आईडी, बीवीवल्यू = आइटम.बी. वैल्यू});  

आपको बिल्कुल क्या चाहिए? उदाहरण के लिए, मूल्य A = {2, "2"} और B = {3, "3"}, ए = {4, "4"} और बी = 5 के साथ सूची, 5 "}, अपेक्षित परिणाम क्या होगा?

नोट: यदि आप एक ही सूची में दोनों रखना चाहते हैं, तो आप ऐसा कुछ कर सकते हैं जो मुझे लगता है ... (मैंने इसे परीक्षण नहीं किया है)

<पूर्व> var परिणाम = सूची। चयन करें (आइटम = & gt; नया {आईडी = आइटम.ए.आईडी, मान = आइटम.ए.वैलू})। ToList ()। AddRange (list.Select (आइटम = & gt; नया {आईडी} = item.B.Id, मान = item.B.Value});

हालांकि, आपको अभी भी अलग-अलग आईडी और मान की आवश्यकता होगी फ़ील्ड। क्या आप भी एक ही सूची में दोनों फ़ील्ड जोड़ना चाहते हैं?


Comments