Enum C # - -is Töötavad ja 3 parimat Enumi meetodit eelistega C # -s

Lang L: none (table-of-contents):

Anonim

Enumi sissejuhatus C # -sse

Enum on reserveeritud märksõna C # -s, mis tähistab loendit. Loend on kasutaja määratud tüüp C # -s, mis sisaldab nimetatud konstantide komplekti. Igal komplekti konstandil on väärtus (vaikimisi täisarvud). Konstantidele pääseb juurde nii nimede kui ka väärtuste kaudu. Seega ei saa nimesid enumuses dubleerida.

Enumi süntaks on sirgjooneline. See algab märksõnaga enum, millele järgneb muutuja nimi, millele järgneb lokkisulgudesse mähitud nimetavate konstandite komplekt. Muidugi lõpeb see semikooloniga.

Süntaks:

enum ();

Näide:

enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );

Enumi töö C # -s

Proovime mõista, kuidas enum töötab C # -s. Enumide tüüp on C #. See tähendab, et igal enumi konstandil on selle aluseks oleva tüübi väärtus. C # -s vaikimisi aluseks olev tüüpi enum on täisarv.

Ülaltoodud päeval on meil kuulutatud seitse konstanti. Sellel on vaikimisi täisarv. Seega omistatakse igale konstandile täisarv. Vaikimisi algab väärtus nullist. Seega on Päikesele omistatud 0, Monil on 1 sellele määratud, Teisipäeval on sellele määratud 2 ja nii edasi.

Võtame veel ühe näite. Me määraksime väärtuse 1 Sunile. See sunniks kompilaatorit alustama määramist 1-st, mitte 0-st. Siis annaksime väärtuse Thu. Seejärel jätkaks kompilaator ülesannet alates 8-st.

Näide nr 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äljund:

Reaalse maailma näide võib olla kliendi teekonna eri etapp. Muidugi saab kõik konstandid eraldi deklareerida ja neile vastavad täisarvu väärtused määrata, kuid enumi kasutamine välistab iga astme täisarvude meeldejätmise vaeva ja muudab koodi ka palju paremini mõistetavaks.

Näide 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äljund:

Enumi meetodid C # -s

Järgnevalt on toodud mõned Enumi meetodid C # -s:

1. GetName (tüüp, Int32)

GetName-meetod tagastab nimetatud konstandi, mis on kaardistatud määratud väärtusega enum'is. Kui sellel väärtusel pole nimega konstanti, tagastab see tühja stringi.

See meetod eeldab kahte parameetrit - üks on tüüp, st enum ise, ja teine ​​on määratud väärtus.

Kood:

Ülaltoodud päevade näites prindiksime nimetatud konstandid GetName-meetodi abil.

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äljund:

2. GetNames (tüüp)

Ülaltoodud näites pange tähele, kuidas pidime kasutama for-loop-i, et saada kõik enumi nimetatud konstandid. GetName-meetod on kasulikum, kui vajame ühte või võib-olla piiratud arvu nimetatud konstandid.

Kõigi nimetatud konstantide saamiseks on meil teine ​​meetod GetNames (). Sisendparameetriks võetakse enum.

Kood:

Ülaltoodud päevade näites trükiksime nimetatud konstandid GetNames'i meetodi abil.

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äljund:

3. GetValues ​​(tüüp)

GetValues ​​() meetodit kasutatakse iga enumi nimelise konstandi aluseks olevate kaardistatud väärtuste saamiseks.

Kood:

Ülaltoodud päevade näites trükiksime nimetatud konstandid GetNames'i meetodi abil.

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äljund:

Reeglid Enumile C-numbris

  • Enum on tüüp, mitte muutuja / konstant / meetod.
  • Enumi nimelisi konstante ei saa dubleerida. Nad peavad olema ainulaadsed
  • Selle aluseks olev enumi tüüp ei saa olla char.
  • Enumi vaikimisi aluseks olev tüüp on täisarv.
  • Vaikimisi algavad konstandite loendamiseks määratud väärtused 0-st, suurenedes iga järgneva nimelise konstandi kohta 1-ga.

Enumi eelised C # -s

Enumid on väga soodne kodeerimise tava. Neid kasutatakse rakenduse või programmi konstandite komplekti määratlemiseks. Seega jääb komplekt konstantseks ja väldib kaost programmis, eriti kui see on tohutu rakendus, mis hõlmab mitut arendajat.

Enume saab kasutada paljude stsenaariumide korral. Nädalapäevad, aasta kuud, temperatuuride ümberarvestussuhted, ajavööndite teisendustegurid või rakenduse mis tahes põhitabeli andmed. See muudab koodi loetavamaks ja hõlpsamini mõistetavaks.

Järeldus

Seega nägime CEN-s enumi kasutamist. Oleme õppinud, kuidas see töötab ja mis saab olla selle praktiline kasutamine. Mõistsime reegleid, mida enumide kasutamisel tuleb järgida. Samuti on meetodeid, mis aitavad meil enumile juurde pääseda ja seda vormindada. IT-l on soovitatav kasutada koodis enume nii palju kui võimalik. See aitab teil jälgida heade tavade kodeerimist ja õppida ka enumaid.

Soovitatavad artiklid

See on juhend Enumile C # -s. Siin käsitleme C # -s Enumi tööd, meetodeid, reegleid ja eeliseid koos näidete ja koodide rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. C # palindroom koos näidetega
  2. Kuidas juurde pääseda nimeruumidele C # -s?
  3. C-tüüpi mustrite 3 parimat tüüpi
  4. Rekursiivne funktsioon C # -s
  5. Jätkake avalduse tööd C #-ga näidetega
  6. Tegurid R | Kuidas luua | Eelised