Úvod do Enumu v C #
Enum je vyhrazené klíčové slovo v C #, což představuje výčet. Enumeration je uživatelem definovaný typ v C #, který obsahuje sadu pojmenovaných konstant. Každá konstanta v sadě má hodnotu (ve výchozím nastavení celá čísla). Ke konstantám lze přistupovat prostřednictvím jmen i hodnot. Jména tedy nemohou být duplikována v enumu.
Syntaxe výčtu je jednoduchá. Začíná klíčovým slovem enum, následovaným názvem proměnné, následovaným sadou pojmenovaných konstant zabalených do složených závorek. To samozřejmě končí středníkem.
Syntax:
enum ();
Příklad:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Zpracování Enum v C #
Zkusme pochopit, jak výčet funguje v C #. Výčty mají základní typ v C #. To znamená, že každé konstantě v výčtu bude mít přiřazena hodnota základního typu. Výchozí základní typ výčtu v C # je celé číslo.
Ve výše uvedený den výčtu máme deklarovaných sedm konstant. Má výchozí základní typ celého čísla. Každá konstanta tak bude mít přiřazenu celočíselnou hodnotu. Ve výchozím nastavení hodnota začíná na 0. Sun tedy bude mít přiřazeno 0, Mon bude mít 1 přiřazeno, Tue bude mít přiřazené 2 a tak dále.
Vezměme si další příklad. Hodnotu 1 jsme přiřadili společnosti Sun. To by donutilo kompilátor, aby zahájil přiřazení od 1 namísto 0. Pak bychom hodnotu 8 přiřadili Čt. Kompilátor by pak pokračoval v přiřazování od 8 dále.
Pří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ýstup:
Příkladem skutečného světa může být různá fáze cesty klienta. Samozřejmě lze všechny konstanty deklarovat samostatně a přiřadit jim odpovídající celočíselné hodnoty, ale použití enum eliminuje problémy s pamatováním celočíselných hodnot pro každou fázi a také činí kód mnohem snáze srozumitelným.
Pří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ýstup:
Metody výčtu v C #
Následují některé metody Enum v C #:
1. GetName (Type, Int32)
Metoda GetName vrátí pojmenovanou konstantu mapovanou na zadanou hodnotu v výčtu. Pokud u této hodnoty neexistuje pojmenovaná konstanta, vrací prázdný řetězec.
Tato metoda očekává dva parametry - jeden je typ, tj. Výčet sám, a druhý je zadaná hodnota.
Kód:
Ve stejném příkladu výše uvedených dnů bychom vytiskli pojmenované konstanty pomocí metody 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ýstup:
2. GetNames (Type)
Všimněte si výše uvedeného příkladu, jak jsme museli použít smyčku for, abychom získali všechny pojmenované konstanty výčtu. Metoda GetName je užitečnější, když potřebujeme jeden nebo možná omezený počet pojmenovaných konstant.
Abychom získali všechny pojmenované konstanty, máme jinou metodu GetNames (). Vezme enum jako vstupní parametr.
Kód:
Ve stejném příkladu výše uvedených dnů bychom vytiskli pojmenované konstanty metodou 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ýstup:
3. GetValues (Type)
Metoda GetValues () se používá k získání základních mapovaných hodnot na každou z konstant jmenovaných výčtem.
Kód:
Ve stejném příkladu výše uvedených dnů bychom vytiskli pojmenované konstanty metodou 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ýstup:
Pravidla pro Enum v C #
- Enum je typ, ne proměnná / konstanta / metoda.
- Konstanty pojmenované Enum nelze duplikovat. Musí být jedinečné
- Základní typ výčtu nemůže být char.
- Výchozí základní typ výčtu je celé číslo.
- Ve výchozím nastavení hodnoty přiřazené k výčtu jmenovaných konstant začínají od 0 a pro každou následující pojmenovanou konstantu se zvyšují o 1.
Výhody Enumu v C #
Výčty jsou velmi výhodnou praxí kódování. Používají se k definování sady konstant pro aplikaci nebo program. Sada tedy zůstává konstantní a vyhýbá se chaosu v programu, zejména pokud se jedná o obrovskou aplikaci zahrnující více vývojářů.
Existuje mnoho scénářů, ve kterých lze výčty použít. Dny v týdnu, měsíce v roce, převodní poměry pro teploty, konverzní faktory pro časová pásma nebo jakákoli data hlavní tabulky pro aplikaci. Díky tomu je kód čitelnější a snáze pochopitelný.
Závěr
Takže jsme viděli použití výčtu v C #. Dozvěděli jsme se, jak to funguje a jaké může být jeho praktické využití. Při používání výčtů jsme pochopili pravidla, která je třeba dodržovat. Existují také metody, které nám pomáhají získat a formátovat výčet. IT se doporučuje používat enumy ve vašem kódu co nejvíce. To vám pomůže sledovat správné postupy kódování a naučit se výčty.
Doporučené články
Toto je průvodce Enumem v C #. Zde diskutujeme práci, metody, pravidla a výhody Enumu v C # s příklady a implementací kódu. Další informace naleznete také v následujících článcích -
- Palindrom v C # s příklady
- Jak získat přístup k oboru názvů v jazyce C #?
- Top 3 typy vzorů v C #
- Rekurzivní funkce v C #
- Pokračujte v práci s příkazy v C # s příklady
- Faktory v R | Jak vytvořit | Výhody