Enumin esittely C #: ssä
Enum on varattu avainsana C #: ssä, joka edustaa luetteloa. Enumeration on käyttäjän määrittelemä tyyppi C #: ssä, jolla on joukko nimettyjä vakioita. Jokaisella joukon vakiona on arvo (oletusarvoina kokonaislukuja). Vakioihin pääsee sekä nimien että arvojen kautta. Nimiä ei siis voida kopioida enumissa.
Enumin syntaksi on suoraviivainen. Se alkaa avainsanalla enum, jota seuraa muuttujan nimi, jota seuraa joukko nimettyjä vakioita, jotka on kääritty hakasulkeisiin. Tietenkin se päättyy puolipisteellä.
Syntaksi:
enum ();
Esimerkki:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Enumin toiminta C #: ssä
Yritetään ymmärtää kuinka enum toimii C #: ssä. Enumeilla on taustalla oleva tyyppi C #. Tämä tarkoittaa, että jokaisella enumin vakiona on määritetty sille määritetyn perustyypin arvo. Oletusympäristön enumityyppi C #: ssa on kokonaisluku.
Edellisenä enumipäivänä meillä on seitsemän vakiota. Sillä on oletusperustana oleva kokonaisluku. Siten jokaiselle vakialle on annettu kokonaislukuarvo. Oletusarvon mukaan arvo alkaa nollasta. Siten Auringolla on sille osoitettu 0, Monilla sille on annettu 1, Ti: lle 2 sille osoitettu ja niin edelleen.
Otetaanpa toinen esimerkki. Antaisimme arvon 1 Sunille. Tämä pakottaisi kääntäjän aloittamaan toimeksiannon nollasta 1: n sijaan. Sitten annettaisiin arvo 8 toiselle. Kääntäjä jatkaisi toimeksiantoa kahdeksasta eteenpäin.
Esimerkki # 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);
)
)
)
lähtö:
Todellisen maailman esimerkki voi olla asiakkaan matkan eri vaihe. Tietysti kaikki vakiot voidaan ilmoittaa erikseen ja määrittää sille vastaavat kokonaislukuarvot, mutta enumin käyttäminen eliminoi vaiheen kokonaislukuarvojen muistamisen vaivaa ja tekee koodista myös paljon helpommin ymmärrettävän.
Esimerkki 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);
)
)
)
lähtö:
Enum-menetelmät C #: ssä
Seuraavassa on joitain Enumin menetelmiä C #:
1. GetName (tyyppi, Int32)
GetName-menetelmä palauttaa nimetyn vakion, joka on kartoitettu määritettyyn arvoon enumissa. Jos siinä nimellisvakiossa ei ole, se palauttaa tyhjän merkkijonon.
Tämä menetelmä odottaa kahta parametria - yksi on tyyppi eli enum itse, ja toinen on määritetty arvo.
Koodi:
Samassa yllä olevassa Days-esimerkissä tulostamme nimetyt vakiot GetName-menetelmällä.
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));
)
)
)
lähtö:
2. GetNames (tyyppi)
Huomaa yllä olevassa esimerkissä, kuinka meidän piti käyttää for-silmukkaa saadaksesi kaikki enumin nimetyt vakiot. GetName-menetelmä on hyödyllisempi, kun tarvitsemme yhden tai ehkä rajoitetun määrän nimettyjä vakioita.
Kaikkien nimettyjen vakioiden saamiseksi meillä on toinen tapa saada GetNames (). Tuloparametrina käytetään enumia.
Koodi:
Samassa yllä olevassa Days-esimerkissä tulostamme nimetyt vakiot GetNames-menetelmällä.
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);
)
)
)
lähtö:
3. GetValues (tyyppi)
GetValues () -menetelmää käytetään hakemaan taustalla olevat kartoitetut arvot jokaiselle enumin nimetylle vakiosta.
Koodi:
Samassa yllä olevassa Days-esimerkissä tulostamme nimetyt vakiot GetNames-menetelmällä.
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);
)
)
)
lähtö:
Enumin säännöt C #: ssä
- Enum on tyyppi, ei muuttuja / vakio / menetelmä.
- Enumin nimeämiä vakioita ei voida kopioida. Niiden on oltava ainutlaatuisia
- Enumin taustalla oleva tyyppi ei voi olla char.
- Enumin oletusperustana oleva enumityyppi on kokonaisluku.
- Oletuksena enum-nimetyille vakioille määritetyt arvot alkavat nollasta, kasvaen yhdellä jokaisella peräkkäisellä nimetyllä vakiona.
Enumin edut C #: ssä
Enumit ovat erittäin edullinen koodauskäytäntö. Niitä käytetään määrittämään vakiojoukko sovellukselle tai ohjelmalle. Siksi joukko pysyy vakiona ja välttää kaaosta ohjelmassa, varsinkin kun se on valtava sovellus, johon osallistuu useita kehittäjiä.
Enumeja voidaan käyttää monissa tilanteissa. Viikonpäivät, vuoden kuukaudet, lämpötilojen muuntamissuhteet, aikavyöhykkeiden muuntokertoimet tai sovelluksen päätaulukotiedot. Tämä tekee koodista helpommin luettavan ja ymmärrettävän.
johtopäätös
Siten olemme nähneet enumin käytön C #: ssä. Olemme oppineet, miten se toimii ja mikä voi olla sen käytännöllinen käyttö. Ymmärrimme säännöt, joita on noudatettava käytettäessä enumeja. On myös menetelmiä, jotka auttavat meitä pääsemään ja muotoilemaan enumia. Sitä on suositeltavaa käyttää enumeja koodissa niin paljon kuin mahdollista. Tämä auttaa sinua tarkkailemaan hyvien käytäntöjen koodausta ja oppimaan myös enumeja.
Suositellut artikkelit
Tämä on opas Enumille C #: ssä. Tässä keskustellaan Enumin toiminnasta, menetelmistä, säännöistä ja eduista C #: ssä esimerkkien ja koodin toteutuksen avulla. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -
- Palindromi C #: ssä esimerkein
- Kuinka käyttää nimiavaroja C #: ssä?
- C #: n 3 suosittua mallityyppiä
- Rekursiivinen toiminto C #: ssä
- Jatka lausuntotyötä C # -näytteellä esimerkkien avulla
- Kertoimet R: ssä Kuinka luoda | edut