نوع Enumerations در سی شارپ
در این بخش enum در زبان #C که باعث کدنویسی ساده تر و قابل فهم تر برنامه می شود، توضیح داده می شود. در سی شارپ ازenum (یا نوع شمارش) برای تخصیص نام های ثابت (constant names) به گروهی از مقادیر عدد صحیح استفاده می شود. enum مقادیر ثابت را خواناتر می کند، به عنوان مثال WeekDays.Monday خواناتر از عدد 0 در هنگام اشاره به روز در هفته است.
Enum ها نوع داده شمارشی ساده هستند و اگر ما می خواهیم تعدادی مقادیر ثابت که با یکدیگر ارتباط دارند در برنامه خود داشته باشیم از Enum ها استفاده می کنیم. برای استفاده Enum ها از فضای نام System.Collections استفاده می کنیم.
enum با استفاده از کلمه کلیدی enum، مستقیماً در فضای نام، کلاس یا ساختار تعریف می شود. تمام نام های ثابت را می توان در داخل براکت اعلام کرد و با کاما از هم جدا کرد. آنچه که در زیر می بینید یک enum برای روزهای هفته تعریف می کند.
در بالا، WeekDays enum اعضای هر سطر که با کاما از هم جدا شده اند تعریف می کند.
مقادیر Enum
اگر مقادیر به اعضای enum اختصاص داده نشود، کامپایلر مقادیر صحیح را به هر عضو اختصاص می دهد که این مقادیر به طور پیش فرض از صفر شروع می شود. اولین عضو یک enum مقدار 0 خواهد بود و مقدار هر عضو بعدی enum یکی افزایش می یابد.
می توانید مقادیر مختلفی را به عضو enum اختصاص دهید. تغییر در مقدار پیش فرض یک عضو enum به طور خودکار مقادیر افزایشی را به ترتیب به سایر اعضا اختصاص می دهد.
حتی می توانید مقادیر مختلفی را به هر عضو اختصاص دهید.
enum می تواند از هر نوع داده عددی مانند بایت، sbyte، short، ushort، int، uint، long یا ulong باشد. با این حال، enum نمی تواند یک نوع رشته باشد.
نوع را بعد از نام enum به صورت type : مشخص کنید. آنچه که در زیر می بینید byte enum را تعریف می کند.
دسترسی به Enum
با استفاده از دستور dot می توان به enum دسترسی پیدا کرد : enum.member
تبدیل enum
برای تبدیل از نوع enum به نوع underlying integral آن، Explicit casting مورد نیاز است.
خروجی قطعه کد بالا عبارت است از:
خلاصه مطالب مهم در رابطه با enum :
1. enum ها برای کار با ثابت های عددی استفاده می شوند.
2. عناصر موجود در یک enum از مقدار ثابت عددی 0 شروع می شوند و enum ها می توانند مقادیر نوع عددی مجاز را دریافت کنند.
3. نوع داده string در enum ها پشتیبانی نمی شود.
4. استفاده از enum ها در برنامه باعث خوانایی و قابل فهم بودن هرچه بیشتر برنامه می شود که در نتیجه مدیریت برنامه نیز آسان تر خواهد شد.