मेरे पास एक कस्टम ऑब्जेक्ट ऑब्जेक्ट है जो GetHashCode() को ओवरराइड करता है। मेरे पास हैशसेट है, और मैं एक ही हैश कोड वाले दो अलग-अलग ऑब्जेक्ट के साथ कॉल करने में सक्षम हूं। दोनों जोड़े गए हैं और बाद में मैं कुछ डेटाबेस सम्मिलन परेशानियों (प्राथमिक कुंजी डुप्लिकेट) के साथ समाप्त होता हूं ... हैशसेट का उपयोग करने का उद्देश्य इन डेटाबेस प्रविष्टियों से जुड़ा था (कुंजी टकराव से परहेज)।सी # हैशसेट एक ही getHashCode() मान के साथ दो ऑब्जेक्ट्स जोड़ने को स्वीकार क्यों कर रहा है?
क्या मैं संभवतः हैशसेट के कुछ गुणों पर छूट रहा हूं? यहां तक कि जब मैं जोड़ने (.dd) जोड़ने से पहले जांच (प्रयास) करता हूं, तो मैं हैशकोड डुप्लीकेट जोड़ता हूं ...
यदि हैशसेट के लिए दो मान डुप्लिकेट मानने के लिए हैश टक्कर पर्याप्त थी, तो यह बहुत बेकार होगा। असमान मूल्यों के लिए समान हैश की उम्मीद की जानी चाहिए। – delnan
खैर, सही हैशिंग एक अवधारणा है जो – Jerome