C# – اینامها (Enums)
در C#، enum (که مخفف “enumerations” است) یک نوع داده ویژه است که نمایانگر یک گروه از ثابتها (متغیرهای غیرقابل تغییر/خواندنی) میباشد.
برای ایجاد یک enum از کلمه کلیدی enum
استفاده کنید (برخلاف class
یا interface
)، و اعضای enum را با کاما جدا کنید.
تعریف Enum
مثال:
enum Level
{
Low,
Medium,
High
}
شما میتوانید از طریق نحوه دسترسی نقطهای (dot syntax) به اعضای enum دسترسی پیدا کنید:
Level myVar = Level.Medium;
Console.WriteLine(myVar);
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
enumها اغلب در عبارات switch
برای بررسی مقادیر متناظر استفاده میشوند:
مثال:
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 استفاده کنیم؟
از enums زمانی استفاده کنید که مقادیری دارید که میدانید تغییر نخواهند کرد، مانند روزهای ماه، روزها، رنگها، کارتهای بازی و غیره.
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام