সি # তে, কোনও বৈশিষ্ট্য সহ এনাম প্রকারকে সাজাইয়া বা মান পরিবর্তন না করে ডিফল্ট মানটি কী হওয়া উচিত তা নির্দিষ্ট করতে অন্য কিছু করা সম্ভব? প্রয়োজনীয় নম্বরগুলি যে কোনও কারণেই পাথরের মধ্যে সেট করা হতে পারে এবং এটি ডিফল্টর উপর এখনও নিয়ন্ত্রণে রাখা সহজ হবে।
enum Orientation
{
None = -1,
North = 0,
East = 1,
South = 2,
West = 3
}
Orientation o; // Is 'North' by default.
int
গুলি বিমূর্ত মধ্যে , সহজভাবে কারণ তারা একটি সাংখ্যিক ধরনের হিসাবে প্রয়োগ করা ঘটতে হবে। আমরা এনামগুলিকে স্ট্রিং হিসাবে প্রয়োগ করতে পারি এবং এটি তাদের কার্যকারিতা পরিবর্তন করে না। আমি উত্তরটি এখানে সি # ভাষার প্রকাশের সীমাবদ্ধতা হিসাবে বিবেচনা করি; সীমাবদ্ধতা অবশ্যই "একটি সীমাবদ্ধ সেট থেকে মানগুলি আলাদা করার" ধারণাটিতে অন্তর্নিহিত নয়।
enum
টাইপ-লেভেল কনস্ট্রাক্ট হিসাবে বিশেষত যোগফলগুলি (বা এখানে দেখুন । দেখুন , প্রতিটি এনামকে একটি স্বতন্ত্র প্রকার হিসাবে বিবেচনা করুন, যেখানে এই ধরণের সমস্ত মান প্রতিটি অন্যান্য এনামের মান থেকে আলাদা ) হিসাবে অনেক বেশি সময় ব্যয় করি । এই জাতীয় মানসিকতা থেকে, এনামদের পক্ষে কোনও মূল্য ভাগ করা অসম্ভব এবং প্রকৃতপক্ষে, এই বিমূর্ততা পৃথক হয়ে যায় যখন আপনি বিবেচনা করেন যে কোনও ডিফল্ট 0
কোনও প্রদত্ত এনামের জন্য বৈধ হতে পারে বা নাও হতে পারে এবং প্রতিটি এনামের মধ্যে কেবল জুতোযুক্ত শিংযুক্ত থাকে।