संभव डुप्लिकेट:
Why check this != null?String.Equals (ऑब्जेक्ट obj) क्यों जांचता है यह देखने के लिए कि यह == शून्य है?
// Determines whether two strings match.
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
public override bool Equals(Object obj)
{
//this is necessary to guard against reverse-pinvokes and
//other callers who do not use the callvirt instruction
if (this == null)
throw new NullReferenceException();
String str = obj as String;
if (str == null)
return false;
if (Object.ReferenceEquals(this, obj))
return true;
return EqualsHelper(this, str);
}
हिस्सा मुझे समझ नहीं आता तथ्य यह है कि यह वर्तमान उदाहरण, this
के लिए जाँच कर रहा है, अशक्त के खिलाफ है। टिप्पणी थोड़ा उलझन में है, इसलिए मैं सोच रहा था कि उस टिप्पणी का वास्तव में क्या अर्थ है?
क्या कोई यह उदाहरण दे सकता है कि अगर यह चेक वहां नहीं था तो यह कैसे टूट सकता है, और इसका मतलब यह है कि मुझे अपनी कक्षाओं में यह चेक भी रखना चाहिए?
@FlorianGreinacher: संभव डुप्लिकेट नहीं, लेकिन काफी सटीक डुप्लिकेट, लॉल। मुझे आश्चर्य है कि जब मैं अपना प्रश्न लिख रहा था तो यह "संबंधित" में क्यों नहीं आया? –