Uvod u Enum u C #
Enum je rezervirana ključna riječ u C #, koja predstavlja nabrajanje. Popisivanje je korisnički definirani tip u C # koji sadrži skup imenovanih konstanti. Svaka konstanta u skupu ima vrijednost (prema zadanim cijelim brojevima). Konstantama se može pristupiti i putem imena i vrijednosti. Stoga se imena ne mogu kopirati u enumu.
Sintaksa enuma je izravna. Započinje s ključnom riječi enum, nakon čega slijedi naziv varijable, a zatim skup imenovanih konstanti umotanih u zavojnice. Naravno, završava poluslatkom.
Sintaksa:
enum ();
Primjer:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Rad Enuma u C #
Pokušajmo razumjeti kako enum djeluje u C #. Enumi imaju temeljni tip u C #. To znači da će svaka konstanta u enumu imati vrijednost dodijeljenog tipa. Zadana temeljna vrsta enuma u C # je cijeli broj.
U gornjem danu enuma imamo deklarirano sedam konstanti. Ima zadani temeljni tip cijelog broja. Stoga će svaka konstanta imati dodijeljenu cijeli broj. Prema zadanim postavkama, vrijednost počinje s 0. Dakle, Sun će joj dodijeliti 0, pon će mu biti dodijeljeno 1, Uto će mu biti dodijeljeno 2 i tako dalje.
Uzmimo još jedan primjer. Sunu bismo dodijelili vrijednost 1. To bi prisililo prevoditelja da započne zadatak s 1 umjesto 0. Zatim bismo vrijednost 8 dodijelili Thu. Tada bi prevoditelj nastavio zadatak od 8 nadalje.
Primjer 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);
)
)
)
Izlaz:
Primjer u stvarnom svijetu mogu biti različite faze putovanja klijenta. Naravno, sve konstante mogu se deklarirati odvojeno i dodijeliti im odgovarajuće cjelobrojne vrijednosti, ali korištenje enuma eliminira gnjavažu pamćenja cjelobrojnih vrijednosti za svaku fazu i također olakšava razumijevanje koda.
Primjer 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);
)
)
)
Izlaz:
Enum metode u C #
Evo nekoliko metoda Enuma u C #:
1. GetName (Vrsta, Int32)
Metoda GetName vraća imenovanu konstantu preslikanu na navedenu vrijednost u enumu. Ako nema imenovane konstante pri toj vrijednosti, vraća se prazan niz.
Ova metoda očekuje dva parametra - jedan je tip tj. Sam enum, a drugi je navedena vrijednost.
Kodirati:
U istom primjeru Dana gore ispisali bismo imenovane konstante metodom 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));
)
)
)
Izlaz:
2. GetNames (vrsta)
Primijetite u gornjem primjeru kako smo morali koristiti petlju za dobivanje svih imenovanih konstanta enuma. Metoda GetName korisnija je kada nam treba pojedinačni ili možda ograničeni broj imenovanih konstanti.
Da bismo dobili sve imenovane konstante, imamo drugu metodu GetNames (). Uzima enum kao ulazni parametar.
Kodirati:
U istom primjeru Dana gore ispisali bismo imenovane konstante metodom 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);
)
)
)
Izlaz:
3. GetValues (Vrsta)
Metoda GetValues () koristi se za dobivanje osnovnih preslikanih vrijednosti na svaku od konstanti imenovanih konstanti.
Kodirati:
U istom primjeru Dana gore ispisali bismo imenovane konstante metodom 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);
)
)
)
Izlaz:
Pravila za Enum u C #
- Enum je vrsta, a ne varijabla / konstanta / metoda.
- Enum imenovane konstante ne može se duplicirati. Moraju biti jedinstveni
- Temeljni tip enuma ne može biti char.
- Zadana temeljna vrsta enuma je cijeli broj.
- Po zadanom vrijednosti dodijeljene enum imenovanim konstantama polaze od 0, povećavajući se za 1 za svaku sljedeću imenovanu konstantu.
Prednosti Enuma u C #
Enumi su vrlo povoljna praksa kodiranja. Koriste se za definiranje skupa konstanta za aplikaciju ili program. Dakle, skup ostaje konstantan i izbjegava kaos u programu, pogotovo kada je riječ o ogromnoj aplikaciji koja uključuje više programera.
Postoji mnogo scenarija u kojima se enumi mogu koristiti. Dani u tjednu, mjeseci u godini, omjeri pretvorbe za temperature, faktori pretvorbe za vremenske zone ili bilo koji podaci matične tablice za aplikaciju. To kôd čini čitljivijim i lakšim za razumijevanje.
Zaključak
Stoga smo vidjeli upotrebu enuma u C #. Naučili smo kako to radi i što može biti njegova praktična upotreba. Razumjeli smo pravila kojih se moramo pridržavati prilikom korištenja enuma. Postoje i metode koje nam pomažu u pristupu i oblikovanju enuma. IT-u je preporučljivo koristiti enume u vašem kodu što je više moguće. Ovo će vam pomoći da poštujete kodiranje dobrih praksi i da naučite i enume.
Preporučeni članci
Ovo je vodič za Enum u C #. Ovdje smo raspravljali o radu, metodama, pravilima i prednostima Enuma u C # s primjerima i implementacijom koda. Možete pogledati i sljedeće članke da biste saznali više -
- Palindrome u C # s primjerima
- Kako pristupiti prostorima s imenima u C #?
- Top 3 vrste uzoraka u C #
- Rekurzivna funkcija u C #
- Nastavite rad s izjavama u C # s primjerima
- Faktori u R | Kako stvoriti | prednosti