तुलना ऑपरेटर का क्या अर्थ है?

सी # में, एक तुलना ऑपरेटर एक बाइनरी ऑपरेटर है जो दो ऑपरेंड लेता है जिनके मूल्यों की तुलना की जा रही है। तुलना संचालकों का उपयोग सशर्त बयानों में किया जाता है, विशेष रूप से लूप्स में, जहां तुलना के परिणाम यह तय करते हैं कि निष्पादन आगे बढ़ना चाहिए या नहीं। वे कार्यक्रम प्रवाह नियंत्रण की कुंजी बनाते हैं, जिसे सशर्त प्रसंस्करण के रूप में जाना जाता है।

तुलना ऑपरेटरों में शामिल हैं:
  • समानता ऑपरेटर (==), उन ऑपरेंड के लिए सही लौटाता है जिनके मान समान हैं।
  • असमानता ऑपरेटर (!=), दो ऑपरेंड बराबर होने पर गलत रिटर्न देता है।
  • रिलेशनल ऑपरेटर से कम (<), सभी संख्यात्मक और गणना प्रकारों के लिए परिभाषित किया गया है और यदि पहला ऑपरेंड दूसरे ऑपरेंड से कम है तो यह सही है।
  • ग्रेटर दैन रिलेशनल ऑपरेटर (>), सभी न्यूमेरिक और एन्यूमरेशन प्रकारों के लिए परिभाषित किया गया है और यदि पहला ऑपरेंड दूसरे ऑपरेंड से बड़ा है तो यह सही है।
  • रिलेशनल ऑपरेटर (<=) से कम या बराबर, सभी संख्यात्मक और गणना प्रकारों के लिए परिभाषित किया गया है और यदि पहला ऑपरेंड दूसरे ऑपरेंड से कम या उसके बराबर है, तो यह सही है।
  • रिलेशनल ऑपरेटर (>=) से अधिक या उसके बराबर, सभी संख्यात्मक और गणना प्रकारों के लिए परिभाषित किया गया है और यदि पहला ऑपरेंड दूसरे ऑपरेंड से अधिक या उसके बराबर है तो सही है।
तुलना ऑपरेटरों को रिलेशनल ऑपरेटर्स के रूप में भी जाना जाता है।

तुलना ऑपरेटरों में निम्नलिखित विशेषताएं हैं:
  • एक प्रकार के चर पर काम करें और बूल प्रकार का मान वापस करें।
  • उपयोगकर्ता परिभाषित प्रकार की वस्तुओं की तुलना के लिए सीधे इस्तेमाल नहीं किया जा सकता। यदि वस्तुओं की तुलना करने के लिए उपयोग किया जाता है, तो एक तुलना ऑपरेटर केवल वस्तु संदर्भों की तुलना करता है न कि उनमें मौजूद डेटा की।
  • स्थैतिक सदस्य कार्यों को परिभाषित करके और कीवर्ड ऑपरेटर का उपयोग करके उपयोगकर्ता-परिभाषित प्रकारों में अतिभारित किया जा सकता है।
  • जोड़े में अतिभारित होना चाहिए। यदि == अतिभारित है, != अतिभारित होना चाहिए। यही नियम जोड़े <और> और <= और>= पर भी लागू होता है।
  • तुलना ऑपरेटरों को अधिभारित करना < और > अंतर्निहित रूप से उनके संबंधित असाइनमेंट ऑपरेटरों (यदि कोई हो) को अधिभारित करता है।
  • यदि == और != किसी दिए गए प्रकार के लिए अतिभारित हैं, तो Equals() और GetHashCode() विधियों को ओवरराइड किया जाना चाहिए।
  • तुलना के लिए तर्क को लागू करने के लिए ऑपरेटर को ओवरलोड किए जाने तक स्ट्रक्चर्स के साथ उपयोग नहीं किया जा सकता है।
.NET फ्रेमवर्क में, System.String वर्ग का उपयोग स्ट्रिंग्स से संबंधित क्रियाओं के लिए किया जाता है, जैसे कि हेरफेर, तुलना और संयोजन। यह स्ट्रिंग प्रकार ऑपरेंड की सामग्री की समानता की जांच करने के लिए == ऑपरेटर को अधिभारित करता है और ऑपरेंड के संदर्भ की तुलना करता है, यदि वे स्ट्रिंग प्रकार के नहीं हैं। .NET फ्रेमवर्क का संस्करण 4.0 डायनेमिक टाइपिंग की सुविधा प्रदान करता है, जिसके द्वारा कंपाइलर तुलना उद्देश्यों के लिए आवश्यक सभी उपयुक्त रूपांतरण कर सकता है।

नेस्टेड क्लास वाली वस्तुओं की तुलना करते समय, तुलना एक नेस्टेड ऑब्जेक्ट की ओर इशारा करते हुए एक संदर्भ पर आधारित हो सकती है जिसकी तुलना (गहरी तुलना) या वस्तुओं के मूल्यों पर की जानी है। यह निर्णय किसी एप्लिकेशन के डिज़ाइन चरण में तय किया जाना चाहिए। फ़्लोटिंग पॉइंट नंबरों के बीच तुलना के लिए, मूल्यों को आवेदन के लिए स्वीकार्य स्तर तक गोल किया जाना चाहिए।

Post a Comment

0 Comments