فهرست سرفصل‌های #C
خانه (HOME) مقدمه (Intro) شروع کار (Get Started) سینتکس (Syntax) خروجی (Output) کامنت ها (Comments) متغیرها (Variables) ثابت ها (Constants) نمایش متغیرها (Display Variables) متغیرهای متعدد (Multiple Variables) شناسه ها (Identifiers) انواع داده (Data Types) تبدیل نوع (Type Casting) ورودی کاربر (User Input) عملگرها (Operators) انتساب (Assignment) مقایسه (Comparison) منطقی (Logical) ریاضی (Math) رشته ها (Strings) اتصال رشته ها (Concatenation) درون گذاری رشته (Interpolation) دسترسی به رشته ها (Access Strings) کاراکترهای ویژه (Special Characters) بولی ها (Booleans) if (If...Else) else (If...Else) else if (If...Else) شکل کوتاه if..else (Short hand if..else) سوئیچ (Switch) حلقه while (While Loop) حلقه for (For Loop) حلقه foreach (Foreach loop) شکستن/ادامه (Break/Continue) آرایه ها (Arrays) حلقه روی آرایه (Loop through an array) مرتب سازی آرایه ها (Sort arrays) آرایه های چندبعدی (Multidimensional arrays) متدها (Methods) پارامترها (Parameters) پارامتر پیش فرض (Default Parameter) مقادیر بازگشتی (Return Values) آرگومان های نام دار (Named Arguments) بارگذاری متد (Method Overloading) شیء گرایی (OOP) کلاس ها/اشیا (Classes/Objects) چند شیء (Multiple Objects) اعضای کلاس (Class Members) سازنده ها (Constructors) قیدهای دسترسی (Access Modifiers) ویژگی ها (Properties) وراثت (Inheritance) چندریختی (Polymorphism) انتزاع (Abstraction) اینترفیس (Interface) چند اینترفیس (Multiple Interfaces) شمارش ها (Enums) فایل ها (Files) استثناها (Exceptions) افزودن دو عدد (Add Two Numbers) نمونه ها (Examples)
#C

#C — شمارش ها (Enums)

آخرین بروزرسانی: 1404/08/05

شمارش ها (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 خیلی کاربرد دارد.
  • کد را خواناتر می کند.

نکته: قبل از یادگیری فایل ها، بخش چند اینترفیس را ببین تا درک بهتری از ساختارهای کد پیدا کنی. همچنین بخش کار با فایل ها بعد از این درس قرار دارد.