सी # में इसके लिए कोई समर्थन नहीं है, लेकिन हो सकता है कि आप इसे कामकाज कर सकें और ट्यूपल्स या अनाम प्रकारों का उपयोग कर एनम के लिए कुछ "पास" कर सकें यदि आपको केवल कुछ राज्य स्विच करने की आवश्यकता है और आपको किसी को भी करने की आवश्यकता नहीं है इसके साथ विशेष संचालन।
उदाहरण के लिए, tuples का उपयोग कर, आप यह कर सकते हैं:
var someFakeEnum = Tuple.Create(0, 1);
अद्यतन:
सी # 7 शुरू की है वाक्यात्मक tuples:
var someFakeEnum = (State1: 0, State2: 1);
या के साथ अनाम प्रकार :
var someFakeEnum = new { State1 = 0, State2 = 1 };
और, उसके बाद, आप की तरह कुछ कर सकते हैं: जाहिर है यह एक वास्तविक गणना नहीं है
int state = 0;
// If you're using tuples...
if(some condition)
{
state = someFakeEnum.Item2;
}
// ...or if you're using anonymous types or C# >= 7 tuples...
if(some condition)
{
state = someFakeEnum.State2;
}
और आप चीनी कि Enum प्रकार आप के लिए प्रदान करता है की जरूरत नहीं है, लेकिन आप अभी भी बाइनरी ऑपरेटरों जैसे OR, AND या सशर्त जैसे किसी अन्य वास्तविक गणना का उपयोग कर सकते हैं।
स्रोत
2011-05-30 15:07:45
यहां तक कि अगर ऐसा कोई तरीका था, तो यह और अधिक अनुकूलित नहीं होगा। 'enum राज्य {राज्य 1, राज्य 2, राज्य 3}' रन-टाइम पर कुछ भी लागत नहीं है। –