c# 4.0 - Find object matches from arrays -
मान लें कि मेरे पास 4 एरे हैं:
[1,3,54,4] [54,2,3,9] [3, 2 9, 544] [54,8,4,3]
मुझे ऑब्जेक्ट्स प्राप्त करने की आवश्यकता है (इस मामले में पूर्णांक लेकिन वे कस्टम ऑब्जेक्ट होंगे) जो कि सभी सरणी में मौजूद हैं (सामान्य) उपरोक्त मामले में मुझे नतीजे की आवश्यकता होगी: [54,3] क्योंकि ये केवल चार आइटम हैं जो सभी चार एरे में हैं I ऑर्डर की कोई बात नहीं है, गति मामलों बहुत, सरणी आकार और एरे की संख्या काफी भिन्न होगी मैं सी # 4 और एएसपी.नेट का उपयोग कर रहा हूँ Arrays सूची होगा हालांकि वे सिर्फ परिवर्तित किया जा सकता है।
धन्यवाद:)
<पी > कैसे के बारे में:
ISet & lt; int & gt; प्रतिच्छेदन = नया हैशसेट & lt; int & gt; (प्रथमअरे); intersection.IntersectWith (secondArray); intersection.IntersectWith (thirdArray); intersection.IntersectWith (fourthArray);
ध्यान दें कि यह और अधिक स्पष्ट रूप से अधिक कुशल होना चाहिए:
var x = firstArray.Intersect (दूसरेअरे)। काटना (तीसरा एरे)। fourthArray);
बाद के रूप में प्रत्येक विधि कॉल के लिए एक नया हैश सेट बनाएगा।
जाहिर है कई सरणियों के साथ आप बस लूप चाहते हैं, जैसे
स्थिर ISet & lt; T & gt; (आईईएनेटरेटर & lt; T & gt; इटरेटर = संग्रह। गेट एनाम्यूमेंटर ()) {अगर (! इटेटर। मेवेंक्स्ट ()) {नई हैशसेट और लेफ्टिनेंट; टी & gt; (); } हैशसेट & lt; T & gt; आइटम = नया हैशसेट & lt; T & gt; (iterator.Current); जबकि (iterator.MoveNext ()) {items.IntersectWith (iterator.Current); } सामान वापस करे; }}
Comments
Post a Comment