मैं सोच रहा हूँ क्यों सी #(वस्तु) 0 == (वस्तु) 0
0 == 0 // return true
(object) 0 == (object) 0 // return false
मेरे लिए
में ऐसा लगता है कि यह संदर्भ के लिए तुलना करती कलाकारों के मूल्य की तुलना की।
यह मेरे पास आया क्योंकि प्रतिबिंब के साथ मुझे वैल्यू टाइप का डिफ़ॉल्ट मान मिल रहा है जो एक ऑब्जेक्ट लौटाता है और जब मैं इसे अपनी ऑब्जेक्ट के वर्तमान मूल्य से तुलना कर रहा हूं तो यह लौटाता है कि दोनों समान नहीं हैं लेकिन समान मान हैं।
वैल्यू टाइप ऑब्जेक्ट पर समान या ToString काम का उपयोग करना, लेकिन संदर्भ प्रकार के साथ नहीं जो शून्य हो सकता है और इसलिए बराबर या ToString की अनुमति नहीं देता है।
अगर कोई मुझे बता सकता है कि मैं किसी भी प्रकार, शून्य या मूल्य के साथ अलग-अलग ऑब्जेक्ट की तुलना कैसे कर सकता हूं क्योंकि ऑब्जेक्ट == ऑब्जेक्ट जाने का गलत तरीका प्रतीत होता है। इस मामले में मेरी वस्तुओं को उनके मूल प्रकार में पुन: प्रस्तुत करने के लिए बाध्यता क्या रेफरेंस टाइप हमेशा अलग होगा?
http://msdn.microsoft.com/en-us/library/yz2be5wk(VS.71).aspx (मुक्केबाजी संदर्भ) – meandmycode