Enum در سی شارپ (داده شمارشی)
برای ایجاد یک enum ، از کلمه کلیدی enum استفاده کنید (به جای کلاس یا رابط) ، و موارد enum را با کاما جدا کنید:
enum Level
{
Low,
Medium,
High
}
Level myVar = Level.Medium;
Console.WriteLine(myVar);
Enum مخفف "enumerations" است که به معنی "به طور خاص ذکر شده" است.
Enum در یک کلاس
در داخل کلاس می توانید یک enum نیز داشته باشید:
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
خروجی:Medium
مقادیر Enum
به طور پیش فرض ، مورد اول یک enum دارای مقدار 0 است. مورد دوم دارای مقدار 1 و غیره است.
برای بدست آوردن مقدار عدد صحیح از یک مورد ، باید صریحاً مورد را به int تبدیل کنید:
enum Months
{
January, // 0
February, // 1
March, // 2
April, // 3
May, // 4
June, // 5
July // 6
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
خروجی:3
شما همچنین می توانید مقادیر enum خود را اختصاص دهید ، و موارد بعدی به ترتیب شماره را به روز می کنند:
enum Months
{
January, // 0
February, // 1
March=6, // 6
April, // 7
May, // 8
June, // 9
July // 10
}
static void Main(string[] args)
{
int myNum = (int) Months.April;
Console.WriteLine(myNum);
}
خروجی:7
Enum در سوئیچ (switch)
برای بررسی مقادیر مربوطه ، از enums اغلب در دستورات سوئیچ استفاده می شود:
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
switch(myVar)
{
case Level.Low:
Console.WriteLine("Low level");
break;
case Level.Medium:
Console.WriteLine("Medium level");
break;
case Level.High:
Console.WriteLine("High level");
break;
}
}
خروجی:Medium level
چرا و چه موقع از Enums استفاده کنیم؟
هنگامی که مقادیری دارید که می دانید قرار نیست تغییر کنند ، از enum استفاده کنید ، مانند روزهای ماه، رنگ ها، کارت ها و غیره