आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। और पढ़ें।

Enums एक उपयोगी डेटा प्रकार है जो आपको एक चर के लिए नामित विकल्पों की सूची परिभाषित करने देता है। उदाहरण के लिए, यदि आप सप्ताह के प्रत्येक दिन को संग्रहीत करना चाहते हैं, तो आप मान्य मानों का प्रतिनिधित्व करने के लिए एक एनुम का उपयोग कर सकते हैं।

Enums सार्थक नामों को प्रोत्साहित करके और आपके द्वारा उपयोग किए जा सकने वाले मानों को सीमित करके आपके कोड को पढ़ना और लिखना आसान बनाता है। एनम के संभावित मूल्यों को संभालने के लिए स्विच स्टेटमेंट का उपयोग करना अक्सर सुविधाजनक होता है।

आप C# सहित कई प्रोग्रामिंग भाषाओं में एनम की घोषणा और उपयोग कर सकते हैं।

सी # में एनम कैसे घोषित करें

सी # में, आप आमतौर पर नेमस्पेस स्तर पर एनमों को डिक्लेयर करेंगे। उदाहरण के लिए, C # कंसोल एप्लिकेशन में, आप अपने एनम को क्लास प्रॉपर्टी के रूप में घोषित कर सकते हैं। इसमें आप एक उदाहरण देख सकते हैं गिटहब रेपो.

कक्षाकार्यक्रम
{
एनुम कार्यदिवस {
सोमवार,
मंगलवार,
बुधवार,
गुरुवार,
शुक्रवार,
शनिवार,
रविवार
}

स्थिरखालीपनमुख्य(डोरी[] तर्क)
{

}
}

जब आप एक एनम घोषित करते हैं, तो प्रत्येक विकल्प को उसके सूचकांक का प्रतिनिधित्व करने के लिए एक पूर्णांक मान मिलता है। डिफ़ॉल्ट रूप से, एनम में पहले मान का सूचकांक मान 0 होता है। इसे बदलने के लिए, जब आप एनम घोषित करते हैं, तो आप पहले तत्व के लिए अपना स्वयं का सूचकांक निर्दिष्ट कर सकते हैं:

एनुम कार्यदिवस { 
सोमवार = 1,
मंगलवार,
बुधवार,
गुरुवार,
शुक्रवार,
शनिवार,
रविवार
}

इस मामले में, पहले तत्व का सूचकांक सोमवार पर आरंभ होती है 1. अगले तत्व का सूचकांक मंगलवार होगा 2, और इसी तरह।

सी # में एनम वैल्यू कैसे एक्सेस करें

ऐसे कई अलग-अलग तरीके हैं जिनसे आप एनम के अंदर संग्रहीत मूल्यों तक पहुँच सकते हैं। एनम में प्रत्येक विकल्प के लिए लौटाया गया मान इंडेक्स है। इस उदाहरण के लिए, का मान कार्यदिवस। शुक्रवार है 5.

एनम का नाम प्राप्त करने का एक तरीका है Enums। गेटनाम () समारोह। इसे इंडेक्स 5 पर विकल्प का नाम मिलता है:

डोरी शुक्रवार = Enum. गेटनाम(के प्रकार(वीकडे), वीकडे। शुक्रवार);
सांत्वना देना। पंक्ति लिखो("भगवान का शुक्र है यह" + शुक्रवार + "!");
// आउटपुट = भगवान का शुक्र है कि यह शुक्रवार है!

आप किसी मान को उसके अनुक्रमणिका का उपयोग करके भी एक्सेस कर सकते हैं. इस मामले में, वीकडे एनम (जो कि मंगलवार है) में इंडेक्स 2 का मान वेरिएबल में स्टोर हो जाएगा:

कार्यदिवस मंगलवार = (सप्ताहांत)2;
सांत्वना देना। पंक्ति लिखो("आज है " + मंगलवार);
// आउटपुट = आज मंगलवार है

जब आप एक एनम को एक तर्क के रूप में पास करते हैं सांत्वना देना। पंक्ति लिखो(), द स्ट्रिंग() एनम के लिए विधि स्वचालित रूप से चलती है। इसका मतलब यह है कि एनम के सही संख्यात्मक मान को प्रिंट करने के बजाय, जो है 5, यह स्ट्रिंग मान प्रिंट करेगा, शुक्रवार.

सांत्वना देना। राइटलाइन (सप्ताहांत। गुरुवार + " नया है " + कार्यदिवस। शुक्रवार);
// आउटपुट = गुरुवार नया शुक्रवार है

आप भी कर सकते हैं डेटा प्रकार को रूपांतरित या पार्स करें एक विकल्प के सूचकांक को स्टोर करने के दूसरे तरीके के रूप में एक पूर्णांक में:

int यहाँ मंडेइंडेक्स = (int यहाँ) कार्यदिवस। सोमवार;
सांत्वना देना। राइटलाइन (सोमवार इंडेक्स);
// आउटपुट = 1

C # में Enums की तुलना कैसे करें I

सी # में, आप तुलना ऑपरेटरों (==,!=, , <=,>=) का उपयोग करके गणनाओं की तुलना कर सकते हैं। यह विकल्पों के संख्यात्मक मान की तुलना करेगा।

सप्ताह का दिन 1 = सप्ताह का दिन। सोमवार;
सप्ताह का दिन 2 = सप्ताह का दिन। मंगलवार;

अगर (दिन 1 == दिन 2)
{
सांत्वना देना। पंक्ति लिखो("दिन वही हैं।");
}
अन्य
{
सांत्वना देना। पंक्ति लिखो("दिन अलग हैं।");
}

इस उदाहरण में, कार्यदिवस का मान। सोमवार 1 है, और कार्यदिवस का मान है। मंगलवार 2 है, तो 1 == 2 तुलना विफल हो जाएगी।

Enums की तुलना करने का एक और तरीका है बराबर () तरीका:

अगर (दिन 1. बराबर (दिन 2))
{
सांत्वना देना। पंक्ति लिखो("दिन वही हैं।");
}
अन्य
{
सांत्वना देना। पंक्ति लिखो("दिन अलग हैं।");
}

आप भी कर सकते हैं सी # स्विच स्टेटमेंट का प्रयोग करें एक एनम में प्रत्येक विकल्प के खिलाफ मूल्य की तुलना करने के लिए। इस उदाहरण में, कोड बुधवार के मामले में आएगा:

सप्ताह के दिन का मूल्यतुलना = सप्ताह का दिन। बुधवार;

बदलना (मूल्य की तुलना करें)
{
मामला कार्यदिवस। सोमवार:
सांत्वना देना। पंक्ति लिखो("मुझे कॉफी की जरूरत है।");
तोड़ना;
मामला कार्यदिवस। मंगलवार:
सांत्वना देना। पंक्ति लिखो("मुझे कॉफी की जरूरत है।");
तोड़ना;
मामला कार्यदिवस। बुधवार:
सांत्वना देना। पंक्ति लिखो("मुझे कॉफी की जरूरत है।");
तोड़ना;
मामला कार्यदिवस। गुरुवार:
सांत्वना देना। पंक्ति लिखो("गुरुवार नया शुक्रवार है!");
तोड़ना;
मामला कार्यदिवस। शुक्रवार:
सांत्वना देना। पंक्ति लिखो("शुक्र है शुक्रवार है!");
तोड़ना;
मामला कार्यदिवस। शनिवार:
सांत्वना देना। पंक्ति लिखो("मेरा पसंदीदा दिन!");
तोड़ना;
मामला कार्यदिवस। रविवार:
सांत्वना देना। पंक्ति लिखो("मेरा दूसरा पसंदीदा दिन!");
तोड़ना;
गलती करना:
सांत्वना देना। पंक्ति लिखो("सप्ताह का अमान्य दिन।");
तोड़ना;
}

C# में Enums पर पुनरावृति कैसे करें

आप का उपयोग कर सी # में एनम्स पर पुनरावृति कर सकते हैं Enum। GetValues ​​() विधि, जो एनम में सभी मानों की एक सरणी लौटाती है। यह कोड स्निपेट सप्ताह के प्रत्येक दिन को प्रिंट करता है, जिसमें सोमवार, मंगलवार आदि शामिल हैं:

प्रत्येक के लिए (साप्ताहिक दिन में Enum। GetValues(के प्रकार(सप्ताहांत)))
{
सांत्वना देना। पंक्ति लिखो((int यहाँ)दिन); // इंडेक्स प्रिंट करने के लिए
सांत्वना देना। राइटलाइन (दिन); // टेक्स्ट वैल्यू प्रिंट करने के लिए
}

आप का उपयोग करके एनम मानों पर भी पुनरावृति कर सकते हैं Enum। GetNames () तरीका। यह एनम विकल्पों के नामों का प्रतिनिधित्व करने के लिए स्ट्रिंग मानों की एक सूची देता है:

प्रत्येक के लिए (डोरी नाम में Enum। गेटनाम(के प्रकार(सप्ताहांत)))
{
int यहाँ सूचकांक = (int यहाँ)(वीकडे) एनम। पार्स(के प्रकार(कार्यदिवस), नाम);

सांत्वना देना। राइटलाइन (इंडेक्स); // इंडेक्स प्रिंट करने के लिए
सांत्वना देना। राइटलाइन (नाम); // टेक्स्ट वैल्यू प्रिंट करने के लिए
}

C# में Enums का उपयोग करना

आप अपने कोड में एनम का उपयोग इसे अधिक पठनीय और बग से कम प्रवण बनाने के लिए कर सकते हैं। अन्य संरचनाओं, जैसे शब्दकोशों के साथ जोड़े जाने पर एनम भी बहुत उपयोगी हो सकते हैं।