Úvod do Enumu v C #
Enum je rezervované kľúčové slovo v C #, ktoré predstavuje výpočet. Enumeration je užívateľom definovaný typ v C #, ktorý obsahuje množinu pomenovaných konštánt. Každá konštanta v množine má hodnotu (predvolené celé čísla). K konštantám je možné pristupovať prostredníctvom mien aj hodnôt. Názvy teda nemožno duplikovať v enumu.
Syntax výčtu je jednoduchá. Začína kľúčovým slovom enum, za ktorým nasleduje premenný názov, za ktorým nasleduje množina pomenovaných konštánt zabalených v zátvorkách. To samozrejme končí bodkočiarkou.
syntaxe:
enum ();
Príklad:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Práca Enum v C #
Pokúsme sa pochopiť, ako enum funguje v C #. Výpočty majú základný typ v C #. To znamená, že ku každej konštante v enum bude mať priradenú hodnotu základného typu. Predvolený základný typ zoznamu v C # je celé číslo.
Vo vyššie uvedený deň výčtu máme deklarovaných sedem konštánt. Má predvolený základný typ celého čísla. Každá konštanta tak bude mať priradenú celočíselnú hodnotu. V predvolenom nastavení sa hodnota začína na 0. Slnku teda bude priradené 0, Mon bude mať priradené 1, Tue bude mať priradené 2 a tak ďalej.
Urobme ďalší príklad. Hodnotu 1 sme priradili spoločnosti Sun. To by donútilo kompilátor, aby začal priradenie od 1 namiesto 0. Potom by sme priradili hodnotu 8 k Thu. Kompilátor by potom pokračoval v priradení od 8 rokov.
Príklad č. 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);
)
)
)
Výkon:
Príkladom v reálnom svete môžu byť rôzne fázy cesty klienta. Samozrejme, všetky konštanty je možné deklarovať samostatne a priradiť im zodpovedajúce celočíselné hodnoty, ale použitie enumu eliminuje problémy so zapamätaním celočíselných hodnôt pre každú fázu a tiež robí kód oveľa ľahšie pochopiteľným.
Príklad č. 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);
)
)
)
Výkon:
Metódy výčtu v C #
Nasledujú niektoré metódy Enum v C #:
1. GetName (Type, Int32)
Metóda GetName vráti pomenovanú konštantu mapovanú na zadanú hodnotu v zozname. Ak pri tejto hodnote neexistuje pomenovaná konštanta, vráti prázdny reťazec.
Táto metóda očakáva dva parametre - jeden je typ, tj samotný enum, a druhý je špecifikovaná hodnota.
kód:
V rovnakom príklade vyššie uvedených dní by sme pomenované konštanty vytlačili pomocou metódy 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));
)
)
)
Výkon:
2. GetNames (typ)
Všimnite si vo vyššie uvedenom príklade, ako sme museli použiť slučku for, aby sme dostali všetky pomenované konštanty enumu. Metóda GetName je užitočnejšia, keď potrebujeme jednu alebo možno obmedzený počet pomenovaných konštánt.
Aby sme dostali všetky pomenované konštanty, máme inú metódu GetNames (). Berie enum ako vstupný parameter.
kód:
V rovnakom príklade vyššie uvedených dní by sme pomenované konštanty vytlačili pomocou metódy 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);
)
)
)
Výkon:
3. GetValues (typ)
Metóda GetValues () sa používa na získanie základných mapovaných hodnôt pre každú z konštánt vymenovaných číselníkom.
kód:
V rovnakom príklade vyššie uvedených dní by sme pomenované konštanty vytlačili pomocou metódy 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);
)
)
)
Výkon:
Pravidlá pre Enum v C #
- Enum je typ, nie premenná / konštanta / metóda.
- Konštanty s názvom Enum sa nedajú duplikovať. Musia byť jedinečné
- Základným typom výčtu nie je char.
- Predvolený základný typ zoznamu je celé číslo.
- V predvolenom nastavení sa hodnoty priradené k vymenovanému konštantu začínajú od 0 a zvyšujú sa o 1 pre každú nasledujúcu pomenovanú konštantu.
Výhody Enumu v C #
Výčty sú veľmi výhodnou praxou kódovania. Používajú sa na definovanie množiny konštánt pre aplikáciu alebo program. Sada teda zostáva konštantná a vyhýba sa chaosu v programe, najmä ak ide o obrovskú aplikáciu zahŕňajúcu viac vývojárov.
Existuje veľa scenárov, v ktorých možno vymenovať výčnelky. Dni v týždni, mesiace v roku, prevodné pomery teplôt, prevodné faktory pre časové pásma alebo akékoľvek údaje hlavnej tabuľky pre aplikáciu. Vďaka tomu je kód čitateľnejší a zrozumiteľnejší.
záver
Preto sme videli použitie enumu v C #. Dozvedeli sme sa, ako to funguje a aké môže byť jeho praktické využitie. Pri používaní výčtu sme pochopili pravidlá, ktoré je potrebné dodržiavať. Existujú tiež metódy, ktoré nám pomáhajú získať a formátovať výčet. IT sa odporúča používať enumy vo vašom kóde v maximálnej možnej miere. Pomôže vám to dodržiavať osvedčené postupy pri kódovaní a naučiť sa aj výčty.
Odporúčané články
Toto je sprievodca Enumom v jazyku C #. Tu diskutujeme prácu, metódy, pravidlá a výhody Enumu v C # s príkladmi a implementáciou kódu. Ďalšie informácie nájdete aj v nasledujúcich článkoch -
- Palindróm v C # s príkladmi
- Ako získať prístup k menným priestorom v jazyku C #?
- Top 3 typy vzorov v C #
- Rekurzívna funkcia v C #
- Pokračujte v práci s príkazmi v jazyku C # s príkladmi
- Faktory v R Ako vytvoriť výhody