मैंने ऑब्जेक्ट्स का एक पूरा समूह लिखा है जो संग्रह के सभी हिस्सों हैं और जिन पर मुझे बहुत सारे प्रकार और खोज करने की आवश्यकता होगी। इन ऑब्जेक्ट्स में से अधिकांश पर मैंने Equals
विधि, IEquatable
और operator!
और operator==
को लागू और ओवरराइड किया है।सूची <T> सॉफ़्टवेयर IEquatable के बजाय तुलनात्मक <T> का उपयोग करता है, क्यों?
अब मैं ऊपर दिए गए ऑब्जेक्ट पर List<T>.Sort
का उपयोग करना चाहता हूं और यह पता चला है कि मुझे कस्टम सॉर्टिंग करने के लिए IComparable
लागू करने की आवश्यकता है।
सॉर्ट IComparable
का उपयोग क्यों करता है और फिर मेरी सभी ऑब्जेक्ट्स में IEquatable
होने का बिंदु क्या है?
इसके अलावा Object.Equal
ओवरराइडिंग के साथ क्या करना है?
विचार प्रयोग; आपके पास तीन पूर्णांक हैं, 'ए',' बी' और 'सी'; आप जानते हैं कि 'a == b',' a! = c' और 'b! = c' (जो सभी संयोजन उपलब्ध हैं)। अब: आरोही क्रम में 'a',' b' और 'c' डालें; पी –