Въведение в Enum в C #
Enum е запазена ключова дума в C #, която представлява изброяване. Изброяването е определен от потребителя тип в C #, който съдържа набор от именани константи. Всяка константа в набора има стойност (по цели стойности по подразбиране). Константите могат да бъдат достъпни чрез имена и стойности. По този начин имената не могат да се дублират в enum.
Синтаксисът на enum е прав. Тя започва с ключовата дума enum, последвана от име на променлива, последвана от набор от именани константи, увити в къдрави скоби. Разбира се, завършва с полу-двоеточие.
Синтаксис:
enum ();
Пример:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Работа на Enum в C #
Нека се опитаме да разберем как enum работи в C #. Енумите имат основен тип в C #. Това означава, че всяка константа в enum ще има стойност на основния тип, присвоена му. Основният основен тип enum в C # е цяло число.
В горния enum ден имаме декларирани седем константи. Той има основен тип цяло число. По този начин всяка константа ще има присвоена й цяло число. По подразбиране стойността започва от 0. По този начин Sun ще има 0 присвоени му, Mon ще има 1, присвоено му, Tue ще има 2, присвоени на него и така нататък.
Нека вземем друг пример. Бихме присвоили стойността 1 на Sun. Това би принудило компилатора да започне заданието от 1, вместо от 0. Тогава бихме присвоили стойността 8 на Чт. След това компилаторът ще продължи заданието от 8 нататък.
Пример №1
using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
);
public static void Main()
(
for (int i = 0; i < 10; i++)
(
Console.WriteLine((Day)i);
)
)
)
изход:
Пример в реалния свят може да бъде различните етапи в пътуването на клиент. Разбира се, всички константи могат да бъдат декларирани отделно и да им бъдат присвоени съответните цели числа, но използването на enum елиминира главоболието от запомнянето на целочислените стойности за всеки етап и също така прави кода много по-лесен за разбиране.
Пример №2
using System;
public class Program
(
enum ClientJourney
(
Introduced = 1,
UnderReview = 2,
Reviewed = 3,
Documentation = 4,
Onboarded = 5,
Declined = 6,
Deboarded = 7
);
public static void Main()
(
Console.WriteLine("The various stages in the journey of a client are:\n");
foreach (string str in Enum.GetNames(typeof(ClientJourney)))
(
Console.WriteLine(str);
)
)
)
изход:
Enum методи в C #
Следват някои методи на Enum в C #:
1. GetName (Тип, Int32)
Методът GetName връща назованата константа, картографирана до определената стойност в enum. Ако няма посочена константа при тази стойност, тя връща празен низ.
Този метод очаква два параметъра - единият е типът, т.е. самият enum, а другият е посочената стойност.
Код:
В същия пример на Дни по-горе бихме отпечатали назованите константи чрез метода GetName.
using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
for (int i = 0; i < 10; i++)
(
Console.WriteLine(Enum.GetName(typeof(Day), i));
)
)
)
изход:
2. GetNames (Тип)
Забележете в горния пример как трябваше да използваме for за цикъл, за да получим всички именувани константи на enum. Методът GetName е по-полезен, когато се нуждаем от единичен или може би ограничен брой на име константи.
За да получим всички именувани константи, имаме друг метод GetNames (). Той приема enum като входен параметър.
Код:
В същия пример на Дни по-горе бихме отпечатали назованите константи чрез метода GetNames.
using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
foreach(string namedConstant in Enum.GetNames(typeof(Day)))(
Console.WriteLine(namedConstant);
)
)
)
изход:
3. GetValues (Тип)
Методът GetValues () се използва за получаване на основните картографирани стойности на всяка от имената на константи на enum.
Код:
В същия пример на Дни по-горе бихме отпечатали назованите константи чрез метода GetNames.
using System;
public class Program
(
enum Day
(
Sun = 1,
Mon,
Tue,
Wed,
Thu = 8,
Fri,
Sat
)
;
public static void Main()
(
foreach (int i in Enum.GetValues(typeof(Day)))
(
Console.WriteLine(i);
)
)
)
изход:
Правила за Enum в C #
- Enum е тип, а не променлива / константа / метод.
- Enum, наречени константи, не могат да бъдат дублирани. Те трябва да са уникални
- Основният вид на enum не може да бъде char.
- Основният основен тип enum е цяло число.
- По подразбиране стойностите, присвоени на enum назначени константи, започват от 0, увеличавайки се с 1 за всяка последователна име на константа.
Предимства на Enum в C #
Енумите са много изгодна практика на кодиране. Те се използват за определяне на набора константи за приложението или програмата. По този начин, наборът остава постоянен и избягва хаос в програмата, особено когато това е огромно приложение, включващо множество разработчици.
Има много сценарии, при които могат да се използват enums. Дни от седмицата, месеци от годината, коефициенти на преобразуване на температури, коефициенти на преобразуване за часови зони или всякакви данни от основната таблица за приложението. Това прави кода по-четим и по-лесен за разбиране.
заключение
По този начин видяхме използването на enum в C #. Научихме как работи и каква може да бъде практическата му употреба. Разбрахме правилата, които трябва да спазваме, когато използваме enums. Има и методи, които ни помагат да имаме достъп и форматираме enum. ИТ се препоръчва да използват enums в кода си колкото е възможно повече. Това ще ви помогне да спазвате кодирането на добри практики и да научите и енуми.
Препоръчителни статии
Това е ръководство за Enum в C #. Тук обсъждаме работата, методите, правилата и предимствата на Enum в C # с примери и изпълнение на код. Можете също да разгледате следните статии, за да научите повече -
- Палиндром в C # с примери
- Как да получите достъп до пространствата от имена в C #?
- Топ 3 вида шаблони в C #
- Рекурсивна функция в C #
- Продължете работата с операторите в C # с примери
- Фактори в R | Как да създадете | Предимства