2009-09-24 16 views
36

क्या रनटाइम पर एनम द्वारा परिभाषित वस्तुओं की कुल संख्या प्राप्त करना संभव है?enum आइटम की कुल संख्या प्राप्त करना

हालांकि यह this one जैसा ही प्रश्न है, यह प्रश्न सी # से संबंधित है, और जहां तक ​​मैं कह सकता हूं, वहां प्रदान की गई विधि उद्देश्य-सी में काम नहीं करेगी।

उत्तर

69

एक enum एक सादा-पुराना-सी प्रकार है, इसलिए यह कोई गतिशील रनटाइम जानकारी प्रदान नहीं करता है।

एक वैकल्पिक गिनती इंगित करने के लिए एक enum के अंतिम तत्व का उपयोग करना है:

typedef enum { 
    Red, 
    Green, 
    Blue, 
    numColors 
} Color; 
+13

सन्निहित मूल्यों के लिए अच्छा है, पूरी तरह से 'typedef enum {लाल = 0xff0000, ग्रीन = 0x00ff00 के लिए विफल रहता है, ब्लू = 0x0000ff, numcolors} रंग; '। –

+0

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

+0

इसके अलावा, यह स्थिर कोड विश्लेषण लाल झंडे –

संबंधित मुद्दे