List<T>
एक संदर्भ प्रकार है जो operator==
ओवरलोड नहीं करता है। इसलिए, यह डिफ़ॉल्ट संदर्भ समानता semantics का उपयोग करता है। आप इंप्रेशन के तहत प्रतीत होते हैं कि यह मूल्य semantics प्रदान करने के लिए operator==
ओवरराइड करता है, लेकिन ऐसा नहीं करता है। a
b
के बराबर होगा जब a
और b
दोनों एक ही List<T>
उदाहरण देखें।
संपादित करें: इसलिए मैंने खुद को कल्पना देखा। यह कहता है:
सूची वर्ग दो ऑपरेटरों, ऑपरेटर == और ऑपरेटर! = की घोषणा करता है, और इस प्रकार उन अभिव्यक्तियों को नया अर्थ देता है जो उन ऑपरेटरों को सूची उदाहरणों पर लागू करते हैं। विशेष रूप से, ऑपरेटर दो समान उदाहरणों की समानता को परिभाषित करते हैं क्योंकि प्रत्येक समान विधियों का उपयोग करके उनकी निहित वस्तुओं की तुलना करते हैं। निम्नलिखित उदाहरण दो सूची उदाहरणों की तुलना करने के लिए == ऑपरेटर का उपयोग करता है।
ईमानदारी से ... मेरे पास कोई सुराग नहीं है कि वे किस बारे में बात कर रहे हैं, लेकिन यह सही नहीं लगता है। जहां तक मैं कुछ परीक्षण चलाने के बाद बता सकता हूं List<T>
कक्षा संदर्भ समानता का उपयोग करती है। अच्छा प्रश्न।
EDIT2: List<T>
, operator==
और/या operator!=
ओवरलोड का संकुचित। इस मामले में यह कल्पना पूरी तरह गलत है।
स्रोत
2012-08-07 19:18:22
अधिक स्पष्ट रूप से – darnir
अपने प्रश्न की व्याख्या करें कृपया कहते हैं नहीं "आउटपुट" "मैं यह चाहते हैं .." के लिए :) –
@pst इस कोड को कॉपी किया जाता है और भाषा कल्पना से शब्दशः चिपकाया, के साथ साथ टिप्पणी। – dasblinkenlight