شمارش ها (Enums)
گاهی لازم داریم چند مقدار ثابت (یعنی غیرقابل تغییر) را با هم دسته بندی کنیم. در C# برای این کار از شمارش ها یا Enums استفاده می کنیم.
تعریف یک Enum
برای ساخت یک Enum از کلمه enum استفاده می کنیم. هر مقدار را با کاما جدا می کنیم.
enum Level
{
Low,
Medium,
High
}
برای استفاده از آن، با نقطه (.) مقدارش را صدا می زنیم.
Level myVar = Level.Medium;
Console.WriteLine(myVar);
نکته: Enum یعنی مجموعه ای از مقدارهای مشخص و ثابت.
Enum داخل کلاس
می توانی یک enum را داخل یک کلاس هم بنویسی.
class Program
{
enum Level
{
Low,
Medium,
High
}
static void Main(string[] args)
{
Level myVar = Level.Medium;
Console.WriteLine(myVar);
}
}
مقادیر Enum
به صورت پیش فرض، مقدار اول عدد 0 است، بعدی 1 و به همین ترتیب.
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);
}
می توانی عدد مخصوص خودت را بدهی. مقدارهای بعدی خودکار ادامه پیدا می کنند.
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);
}
استفاده از 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;
}
}
چه زمانی از Enum استفاده کنیم؟
وقتی مقدارها ثابت اند و نمی خواهی اشتباه تایپی پیش بیاید. مثل ماه ها، رنگ ها، یا روزهای هفته.
جمع بندی سریع
- Enum گروهی از مقدارهای ثابت است.
- مقدارها عددی و پشت سرهم اند.
- می توان عدد خاص داد.
- در switch خیلی کاربرد دارد.
- کد را خواناتر می کند.
نکته: قبل از یادگیری فایل ها، بخش چند اینترفیس را ببین تا درک بهتری از ساختارهای کد پیدا کنی. همچنین بخش کار با فایل ها بعد از این درس قرار دارد.