دسته بندی ها
15:45 1399/07/19

آموزش مفهوم enum در سی شارپ

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 6352
پاسخ دهنده : saedbfd 19:49 1399/07/19

آموزش مفهوم enum در سی شارپ

 

مفهوم enum در سی شارپ

 

داده های شمارشی یا Enum ها یکی از انواع داده هایی هستند که شما به عنوان برنامه نویس می توانید از آنها استفاده کنید. داده های شمارشی یا Enum ها کلاس های مخصوصی هستند که یک گروه از مقادیر را قبول می کنند.

برای درک بهتر Enum ها یک مثال رو با هم انجام می دهیم. فرض کنید می خواهید لیست ایام هفته را داشته باشید و در برخی از قسمتهای کد استفاده کنید. شما برای این کار میتونید به راحتی یک داده مخصوص ایجاد کنید که مقادیر ان شامل ایام هفته باشد. دقت کنید که برای تعریف یک Enum از کلمه کلیدی enum استفاده می شود.

 

enum Week  
{  
    Sun, Mon, Tue, Wed, Thu, Fri, Sat  
};  

 

در این مثال یک Enum به نام Week ایجاد کردیم. مقادیری که برای این داده شمارشی تعریف کردیم را هم مشاهده می کنید. حالا در هر قسمتی از کد که نیاز به نام هفته داشته باشیم میتوانیم به راحتی از این داده شمارشی استفاده کنیم.

 

Console.WriteLine(Enum_Name.Sun);  
Console.WriteLine(Enum_Name.Mon);

//Result
Sun
Mon

هنگام استفاده از Enum ها می توانیم شماره ایندکس Enum را هم داشته باشیم. به عنوان مثال در Enum که ما تعریف کردیم Sun برابر با 0 و Mon برابر با 1 می باشد.

 

Console.WriteLine((int) Enum_Name.Sun);  
Console.WriteLine((int) Enum_Name.Mon);

//Result
0
1

 

برای درک بهتر Enum ها یک مثل دیگر را هم می بینیم:

 

class Program
{
  enum Level
  {
    Low,
    Medium,
    High
  }
  static void Main(string[] args)
  {
    Level myVar = Level.Medium;
    Console.WriteLine(myVar);
  }
}

//Result
Medium

 

تعریف Enum با مقدار پیش فرض

شما میتوانید برای داده های شمارشی خود مقدار پیش فرض هم تعریف کنید و در خروجی کدهای خود از مقدار پیش فرض استفاده کنید.

 

enum Season
{
    Spring = 1,
    Summer = 2,
    Autumn = 3,
    Winter = 4
}

 

حالا اگر از این داده شمارشی استفاده کنیم اعداد 1 و 2 و 3 و 4 در خروجی خواهیم داشت. 

Enumeration types

ویرایش شده در جمعه 1 مهر 1401 ساعت 15:33:25
به این پاسخ امتیاز بدهید    1
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود