ओवरलोड == ऑपरेटर के लिए सबसे अच्छा अभ्यास क्या है जो शून्य संदर्भ तुलना की तुलना में उसी वर्ग के दो उदाहरणों की तुलना करता है?सी #: शून्य संदर्भों की बात करते समय == ऑपरेटर को अधिभारित करने के लिए सबसे अच्छा अभ्यास
MyObject o1 = null;
MyObject o2 = null;
if (o1 == o2) ...
static bool operator == (MyClass o1, MyClass o2)
{
// ooops! this way leads toward recursion with stackoverflow as the result
if (o1 == null && o2 == null)
return true;
// it works!
if (Equals(o1, null) && Equals(o2, null))
return true;
...
}
सबसे अच्छा तरीका तुलना में अशक्त संदर्भ को संभालने के लिए क्या है?
'object.ReferenceEquals (O2, नल))' जाँच नहीं है यहाँ कैसे मैं यह कर रहा है कड़ाई से जरूरी है। बाधाएं पहली चीज हैं 'बराबर' एक ही जांच कर रही है। – Gabe