سی شارپ - نوع Enum

نوع شمارشی مجموعه ی نامگذاری شده ازاعداد صحیح است. برای تعریف نوع شمارسی از کلمه ی کلیدی enum استفاده می شود

enumerations های سی شارپ از نوع شمارشی می باشند. enumeration ها فقط مقادیر خود را نگهداری می کنند و نمی توانند ارث بری کنند و یا مشتق شوند.

تعریف متغیر Enum

روش معمول تعریف enum به صورت زیر است

enum <enum_name> 
{
   enumeration list 
};

که

  • enum_name نام enumeration را مشخص می کند.
  • لیست enumeration ها از شناسه هایی که با کاما از هم جدا شده اند ، تشکیل می شود

هر نمادی در لیست enumeration معادل یک مقدار صحیح می باشد که بزرگتر از نماد قبلی در لیست است. به طور پیش فرض مقدار اولین نماد enumeration مقدار0 می باشد، به عنوان مثال

enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };

مثال

در مثال زیر نحوه ی استفاده از یک متغیر enum آورده شده است

using System;
namespace EnumApplication
{
   class EnumProgram
   {
      enum Days { Sun, Mon, tue, Wed, thu, Fri, Sat };

      static void Main(string[] args)
      {
         int WeekdayStart = (int)Days.Mon;
         int WeekdayEnd = (int)Days.Fri;
         Console.WriteLine("Monday: {0}", WeekdayStart);
         Console.WriteLine("Friday: {0}", WeekdayEnd);
         Console.ReadKey();
      }
   }
}

نتیجه ی اجرای قطعه کد بالا به صورت زیر است

Monday: 1
Friday: 5