Перерахування
Свайпніть щоб показати меню
Enum, також відомий як Перелічення, є структурою для групування деяких цілих констант. Константи зазвичай мають тип int.
Наведено синтаксис створення enum:
index.cs
1234567enum EnumName { Const1, Const2, Const3, ... }
За замовчуванням перший елемент enum має значення 0, другий елемент має значення 1 і так далі.
Наприклад:
index.cs
12345678910enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }
Ви можете отримати доступ до значень цих констант, використовуючи синтаксис enumName.constantName.
Наприклад:
index.cs
123456789101112131415161718192021222324using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }
Зверніть увагу, що в наведеному вище прикладі потрібно явно перетворити константу у тип даних int, оскільки ці константи за замовчуванням мають тип Days. Це означає, що перелік Days — це новий тип даних, який ви створили. Тому його можна зберігати у змінній типу Days:
Days day = Days.Friday;
Це корисно, наприклад, у конструкціях switch.
Наприклад:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }
Ви також можете вручну призначати значення константам переліку. Непризначені константи отримують збільшені на одиницю значення попередніх елементів:
index.cs
123456789101112131415161718192021222324252627using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }
1. Що таке enum у C#?
2. Яке ключове слово використовується для визначення enum?
3. Який тип даних за замовчуванням використовується для значень у перерахуванні (enum)?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат