एनम स्टैक्ट्स हैं और इसलिए ढेर पर आवंटित किए जाते हैं, जबकि भेदभाव वाले यूनियन संदर्भ प्रकार हैं इसलिए आवंटित ढेर हैं। तो, आप उम्मीद करेंगे कि डीयू थोड़ा कम प्रदर्शन करने वाला होगा, हालांकि वास्तविकता में आप शायद इस अंतर को कभी नहीं देखेंगे।
अधिक महत्वपूर्ण रूप से एक भेदभाव संघ कभी भी घोषित प्रकारों में से एक हो सकता है, जहां enums वास्तव में केवल एक पूर्णांक हैं, इसलिए आप एक पूर्णांक डालें जो enum प्रकार के enum का सदस्य नहीं है। इसका मतलब यह है कि जब संकलक से मिलान करने वाला पैटर्न यह कह सकता है कि जब आप डीयू के लिए सभी मामलों को कवर करते हैं तो पैटर्न मिलान पूरा हो जाता है, लेकिन एक enum के लिए आपको हमेशा एक बाकी को पकड़ने के लिए डिफ़ॉल्ट स्थिति में रखना होगा, यानी एक enum के लिए हमेशा पैटर्न मिलान की आवश्यकता होगी:
match enumColor with
| Red -> 1
| Green -> 2
| Blue -> 3
| _ -> failwith "not an enum member"
जहां अंतिम मामला डीयू के साथ आवश्यक नहीं होगा।
एक अंतिम बिंदु, क्योंकि एनम्स दोनों सी # और वीबीएनईटी में मूल रूप से समर्थित हैं, डीयू नहीं हैं, अन्य भाषाओं द्वारा खपत के लिए सार्वजनिक एपीआई बनाते समय enums अक्सर बेहतर विकल्प होते हैं।