#csharp_for_beginners
یک Enum در واقع نوع دادهای سفارشی است که مجموعهای از ثابتهای عددی نامگذاریشده را در خود نگه میدارد. برای مثال:
enum Season
{
Spring,
Summer,
Autumn,
Winter
}
در اینجا، اعضا به ترتیب دارای مقادیر عددی 0، 1، 2 و 3 هستند. نوع پایهی Enum بهصورت پیشفرض int است، اما میتوان آن را تغییر داد.
تعیین نوع پایه و مقادیر صریح
میتوان نوع پایه و مقادیر اعضا را بهصورت دستی مشخص کرد:
enum ErrorCode : ushort
{
None = 0,
Unknown = 1,
ConnectionLost = 100,
OutlierReading = 200
}
در این مثال، نوع پایه ushort است و هر عضو مقدار خاص خود را دارد.
نکات مهم در استفاده از Enum
مقدار پیشفرض یک Enum برابر با عدد صفر است، حتی اگر هیچ عضوی با مقدار صفر تعریف نشده باشد.
تبدیل عددی به Enum مجاز است، اما اگر مقدار عددی به هیچ عضو مشخصی مربوط نباشد، نتیجه ممکن است نامعتبر باشد.
کاربردهای Enum
۱. انتخاب از میان چند مقدار مشخص
یک Enum زمانی مفید است که بخواهیم متغیری یکی از چند مقدار مشخص را بگیرد. مثلاً برای وضعیت سفارش یا فصل سال:
enum OrderStatus
{
Pending,
Processing,
Shipped,
Delivered
}
۲. استفاده بهصورت ترکیبی (Flags)
گاهی لازم است چند مقدار با هم ترکیب شوند. در این حالت از ویژگی [Flags] استفاده میکنیم و مقادیر را بهصورت توانهای دو تعریف میکنیم:
[Flags]
public enum Days
{
None = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64,
Weekend = Saturday | Sunday
}
جمعبندی
ابزار Enum یکی از ابزارهای ساده اما قدرتمند در سیشارپ است که به شما کمک میکند مجموعهای از مقادیر ثابت را با نامهای قابل فهم تعریف کنید. این کار باعث افزایش خوانایی، کاهش خطا و بهبود نگهداری کد میشود. با رعایت چند قاعدهی ساده —مثل داشتن عضو صفر، اعتبارسنجی مقادیر و استفادهی درست از [Flags]— میتوان Enumهایی ساخت که در پروژههای واقعی بسیار کاربردی و ایمن باشند.
🔗 مطلب کامل را در این لینک میتوانید مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______