सी # में, क्या यह संभव है कि एक एनुम प्रकार को एक विशेषता के साथ सजाया जाए या कुछ और निर्दिष्ट करने के लिए क्या डिफ़ॉल्ट मान होना चाहिए, बिना परिवर्तन के मान? आवश्यक संख्याओं को किसी भी कारण से पत्थर में सेट किया जा सकता है, और यह अभी भी डिफ़ॉल्ट पर नियंत्रण रखना आसान होगा।
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
Orientation o; // Is 'North' by default.
int
रों सार में , बस क्योंकि वे एक अंकीय प्रकार के रूप में लागू किया जाना होता है। हम स्ट्रिंग्स के रूप में एनम को लागू कर सकते हैं, और यह उनकी उपयोगिता को नहीं बदलेगा। मैं यहाँ उत्तर को C # भाषा की अभिव्यक्ति की सीमा मानता हूँ; सीमा निश्चित रूप से "एक प्रतिबंधित सेट से मूल्यों को अलग करने" के विचार में निहित नहीं है।
enum
टाइप-स्तर के निर्माणों के बारे में सोचता हूं , विशेष रूप से योग के प्रकार (या यहां देखें) । अर्थात, प्रत्येक एनम को एक अलग प्रकार के रूप में माना जाता है, जहां उस प्रकार के सभी मान हर दूसरे एनम के मूल्यों से अलग होते हैं। इस तरह की मानसिकता से, एनमों के लिए किसी भी मूल्य को साझा करना असंभव है , और वास्तव में, यह अमूर्तता अलग हो जाती है जब आप मानते हैं कि 0
किसी दिए गए एनम के लिए डिफ़ॉल्ट मान्य नहीं हो सकता है, और बस हर एनुम में जूता-सींग वाला है।