.net - Quickest way to find the complement of two collections in C# -


मेरे पास दो संग्रह प्रकार हैं ICollection ; सी 1 और सी 2 मैं सी 2 में मौजूद वस्तुओं के समूह को ढूंढना चाहूंगा जो कि सी 1 में नहीं हैं, जहां समानता के लिए अनुमानी आईडी संपत्ति है MyType।

इसे सी # में करने का सबसे तेज़ तरीका है।

संपादन: सी # संस्करण = 3.0

का उपयोग करें और विशेष रूप से IEqualityComparer & lt; MyType & gt; :

  var complement = c2.Except (c1, नया मायटाइप ईक्वैलिटी कम्पररर ());  

ध्यान दें कि यह सेट फ़र्क का उत्पादन करता है और इस प्रकार c2 में डुप्लिकेट केवल परिणामी IEnumerable & lt; MyType & gt; में दिखाई देगा यहां आपको IEqualityComparer & lt; MyType & gt; जैसे कुछ के जैसा

  वर्ग को लागू करने की आवश्यकता है MyTypeEqualityComparer: IEqualityComparer & lt; MyType & gt; {सार्वजनिक बाउल इक्ल्स (मायटाइप एक्स, मायटाइप वाई) {वापसी x.Id.Equals (y.Id); } सार्वजनिक इंट होशकोड (माइइपे ऑब्ज़) {वापसी obj.Id.GetHashCode (); }}  

Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -