कोई तर्क के साथ HashSet
निर्माता के लिए MSDN एपीआई में यह कहा गया हैसेट प्रकार के लिए डिफ़ॉल्ट समानता तुलनाकर्ता क्या है?
HashSet वर्ग कि खाली है और सेट प्रकार के लिए डिफ़ॉल्ट समानता comparer का उपयोग करता है का एक नया उदाहरण आरंभीकृत।
सेट प्रकार के लिए डिफ़ॉल्ट समानता तुलनाकर्ता क्या है, उदा। एक कस्टम वर्ग के लिए?
बीटीडब्लू: क्या यह सिर्फ मुझे है या एमएसडीएन एपीआई दस्तावेज वास्तव में स्पष्टीकरण पर थोड़ा पतला है? मैं इसे पढ़ने के बाद एक से अधिक बार इस तरह के प्रश्नों के बारे में ठोकर खाई।
बस एक टिप्पणी का प्रयोग करेंगे। 'EqualityComparer। डिफॉल्ट 'खराब हो जाएगा (और इसलिए' हैशसेट 'खराब हो जाएगा) यदि' कस्टम क्लास '' Iquatable '*** *** के बिना' GetHashCode() 'ओवरराइड किए बिना लागू करता है। –
@JeppeStigNielsen - हाँ आप सही हैं, मैं बस इसके बारे में अधिक जानकारी जोड़ रहा था। – Lee
@JeppeStigNielsen यह एक अच्छा मुद्दा है जिसे मैंने अभी लिखा एक छोटे से उदाहरण में ठोकर खाई। 'IEquatable 'लागू क्यों नहीं कर रहा है? ली के जवाब में बयान में कहा गया है कि अगर पहले 'आईक्वेटेबल' लागू किया गया है, और यदि नहीं, तो 'ऑब्जेक्ट। एक्वाल्स' और 'ऑब्जेक्ट। गेटहाशकोड' का उपयोग किया जाएगा। –