Introduktion till Enum i C #
Enum är ett reserverat nyckelord i C #, som representerar en uppräkning. Enumeration är en användardefinierad typ i C # som innehåller en uppsättning av namngivna konstanter. Varje konstant i uppsättningen har ett värde (som standard heltal). Konstanterna kan nås genom både namn och värden. Således kan namnen inte kopieras i enum.
Syntaxen för enum är enkel. Det börjar med nyckelordet enum, följt av ett variabelt namn, följt av en uppsättning med namngivna konstanter inslagna i lockiga parenteser. Naturligtvis slutar det med en halvkolon.
Syntax:
enum ();
Exempel:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Working of Enum i C #
Låt oss försöka förstå hur enum fungerar i C #. Enums har en underliggande typ i C #. Detta innebär att varje konstant i enum har ett värde av den underliggande typen som tilldelats den. Den underliggande standardtypen av enum i C # är ett heltal.
I ovanstående dag, har vi sju konstanter förklarade. Den har en underliggande typ av heltal. Således kommer varje konstant att ha ett heltalvärde tilldelat det. Som standard börjar värdet vid 0. Således kommer Sun att ha 0 tilldelat det, Man kommer att ha 1 tilldelat det, Tis kommer att ha 2 tilldelats till det och så vidare.
Låt oss ta ett annat exempel. Vi skulle tilldela Sun 1 värdet. Detta skulle tvinga kompilatorn att starta uppdraget från 1 istället för 0. Då skulle vi tilldela värdet 8 till tors. Kompilatorn fortsätter sedan uppdraget från 8 och framåt.
Exempel 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);
)
)
)
Produktion:
Ett verkligt exempel kan vara de olika stadierna i en klients resa. Naturligtvis kan alla konstanter förklaras separat och tilldelas motsvarande heltalvärden till det, men med enum elimineras besväret med att komma ihåg heltalvärdena för varje steg och gör också koden mycket lättare att förstå.
Exempel 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);
)
)
)
Produktion:
Enummetoder i C #
Följande är några metoder för Enum i C #:
1. GetName (Typ, Int32)
Metoden GetName returnerar den namngivna konstanten som mappas till det angivna värdet i enum. Om det inte finns någon namngiven konstant vid det värdet returnerar det en tom sträng.
Denna metod förväntar sig två parametrar - en är typen, dvs. själva enum, och den andra är det angivna värdet.
Koda:
I samma exempel på dagar ovan skulle vi skriva ut de namngivna konstanterna med metoden 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));
)
)
)
Produktion:
2. GetNames (typ)
Lägg märke till i exemplet ovan, hur vi var tvungna att använda for-loopen för att få alla de nämnda konstanterna i enum. GetName-metoden är mer användbar när vi behöver ett enda eller kanske ett begränsat antal namngivna konstanter.
För att få alla nämnda konstanter, har vi en annan metod GetNames (). Det tar enum som ingångsparameter.
Koda:
I samma exempel på dagar ovan skulle vi skriva ut de namngivna konstanterna med GetNames-metoden.
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);
)
)
)
Produktion:
3. GetValues (typ)
Metoden GetValues () används för att få de underliggande mappade värdena till var och en av de namngivna konstanterna.
Koda:
I samma exempel på dagar ovan skulle vi skriva ut de namngivna konstanterna med GetNames-metoden.
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);
)
)
)
Produktion:
Regler för Enum i C #
- Enum är en typ, inte en variabel / konstant / metod.
- Enum namngivna konstanter kan inte dupliceras. De måste vara unika
- Den underliggande typen av enum kan inte vara kol.
- Den underliggande standardtypen av enum är ett heltal.
- Som standard börjar de värden som tilldelas enum namngivna konstanter från 0 och ökar med 1 för varje successiv benämnd konstant.
Fördelar med Enum i C #
Enums är en mycket fördelaktig kodningspraxis. De används för att definiera uppsättningen konstanter för applikationen eller programmet. Således förblir uppsättningen konstant och undviker kaos i programmet, särskilt när det är en enorm applikation som involverar flera utvecklare.
Det finns många scenarier där enums kan användas. Veckodagar, månader på året, konverteringsförhållanden för temperaturer, omvandlingsfaktorer för tidszoner eller någon mastertabeldata för applikationen. Detta gör koden mer läsbar och lättare att förstå.
Slutsats
Således har vi sett användningen av enum i C #. Vi har lärt oss hur det fungerar och vad som kan användas praktiskt. Vi förstod reglerna för att följa när vi använder enums. Det finns också metoder som hjälper oss att komma åt och formatera enum. Det rekommenderas att du använder enums i din kod så mycket som möjligt. Detta hjälper dig att observera kodning av god praxis och lära enums också.
Rekommenderade artiklar
Detta är en guide till Enum i C #. Här diskuterar vi arbetet, metoderna, reglerna och fördelarna med Enum i C # med exempel och kodimplementering. Du kan också titta på följande artiklar för att lära dig mer -
- Palindrome i C # med exempel
- Hur kommer man åt namnytor i C #?
- Topp 3 typer av mönster i C #
- Rekursiv funktion i C #
- Fortsätt uttalandearbetet i C # med exempel
- Faktorer i R | Hur man skapar | fördelar