] हालाँकि, जो प्रश्न प्रस्तुत करता है वह एक पेचीदा अवलोकन है जो कि एनम्स प्रतीत होता है कि कई मानों को एक ही स्थिरांक को सौंपा जा सकता है। पर्दे के पीछे, enums सिस्टम से प्राप्त होता है। एंम बेस क्लास और अनिवार्य रूप से पूर्वनिर्धारित निरंतर मूल्यों के साथ संरचनाएं हैं।
उदाहरण के लिए उदाहरण पर विचार करें
{
लाल = 1,
नीला = 1,
हरा = 1
…
{
पब्लिक कांस्ट इंट रेड = 1;
पब्लिक कास्ट इंट ब्लू = 1;
पब्लिक कांस्ट इंट ग्रीन = 1;
}
जबकि C# संरचनाओं के लिए स्पष्ट आधार वर्ग की घोषणा को प्रतिबंधित करता है, CLR नॉनम्स के लिए इस प्रतिनिधित्व को उत्पन्न करता है। हालाँकि, इस गैर-अद्वितीय मूल्य असाइनमेंट के परिणामस्वरूप Enum प्रकार में रूपांतरण के दौरान अप्रत्याशित व्यवहार हो सकता है। रंग रंग 2 = (रंग) enum.parse (typeof (रंग), "1"); तकनीकी रूप से, न तो Color1 और न ही Color2 को लाल सौंपा गया है; इसके बजाय, वे मान 1 रखते हैं। लेकिन जब प्रदर्शित किया जाता है, तो लाल वही है जो आप देखेंगे। बूल b = color.red == color.green; यह समानता सही है क्योंकि लाल और हरे दोनों के लिए अंतर्निहित संख्यात्मक मान 1 है। यह निर्धारित करना आवश्यक है कि क्या यह गैर-अवहेलना आपके एनम डिजाइन के इच्छित उद्देश्य और शब्दार्थ के साथ संरेखित करती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3