c# - Sort list2 by list1 -
मेरे पास सूची 1 है:
"जॉन डो" "जैक स्मिथ" "पीटर मिलर " और प्रत्येक आइटम पर फ़ंक्शन का उपयोग करके:
सूची & lt; व्यक्ति & gt; List2 = नई सूची & lt; व्यक्ति & gt; (); Foreach (सूची 1 में स्ट्रिंग का नाम) list2.Add (GetPersonByName (नाम)); मैंने सूची 2 (छोटा, असली में 30 + गुण हैं) का निर्माण किया है:
{नाम: "जॉन डो", आयु: 55, रूम नोओ : 203} {नाम: "जैक स्मिथ", आयु: 40, रूम नोओ: 203} {नाम: "पीटर मिलर", आयु: 31, रूम नोओ: 202} अब तक अच्छा।
अब मैंने निष्पादन को समानांतर करने का निर्णय लिया:
सूची & lt; व्यक्ति & gt; List2 = नई सूची & lt; व्यक्ति & gt; (); Parallel.ForEach (सूची 1, व्यक्ति = & gt; {list2.Add (GetPersonByName (name))}}; जिसके परिणामस्वरूप एक unordered list2 हो सकता है।
मैं सूची 2 को उसी क्रम में कैसे कुशलतापूर्वक सॉर्ट कर सकता हूँ?
या वहां है एक सूची बनाने के लिए एक समानांतर foreach को बता दो। इनपुट सूची के क्रम में जोड़ें? ( GetPersonByName फ़ंक्शन भारी है - परिकलन नहीं, अधिकतर इंतजार करना।)
आपको रूपांतरण का उपयोग करके रूपांतरण समानांतर करने में सक्षम होना चाहिए, ताकि ऑर्डर एक समान रहे:
सूची & lt; व्यक्ति & gt; List2 = list1.AsParallel ()। ASOrdered ()। चयन करें (name = & gt; GetPersonByName (name)) .toList (); संपादित करें: जोड़ा गया । एसोर्डर्ड () और CSharpie की टिप्पणी के जवाब में एमएसडीएन लेख के लिए एक लिंक।
Comments
Post a Comment