Introduzione a Enum in C #
Enum è una parola chiave riservata in C #, che rappresenta un'enumerazione. Un'enumerazione è un tipo definito dall'utente in C # che contiene un set di costanti con nome. Ogni costante nell'insieme ha un valore (di default numeri interi). È possibile accedere alle costanti tramite nomi e valori. Pertanto, i nomi non possono essere duplicati in un enum.
La sintassi di un enum è semplice. Inizia con la parola chiave enum, seguita da un nome di variabile, seguito da un insieme di costanti nominate racchiuse tra parentesi graffe. Naturalmente, termina con un punto e virgola.
Sintassi:
enum ();
Esempio:
enum Day ( Sun, Mon, Tue, Wed, Thu, Fri, Sat );
enum Month ( Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec );
Funzionamento di Enum in C #
Proviamo a capire come funziona enum in C #. Gli enum hanno un tipo sottostante in C #. Ciò significa che ogni costante nell'enum avrà un valore del tipo sottostante assegnato ad essa. Il tipo predefinito di enum sottostante in C # è un numero intero.
Nel giorno enum di cui sopra, abbiamo dichiarato sette costanti. Ha un tipo di intero sottostante predefinito. Pertanto, ad ogni costante verrà assegnato un valore intero. Per impostazione predefinita, il valore inizia da 0. Pertanto, Sun avrà 0 assegnato ad esso, Mon avrà 1 assegnato ad esso, Mar avrà 2 assegnato ad esso e così via.
Facciamo un altro esempio. Vorremmo assegnare il valore 1 a Sun. Ciò costringerebbe il compilatore a iniziare l'assegnazione da 1 invece di 0. Quindi, assegneremmo il valore 8 a Gio. Il compilatore continuerà quindi l'assegnazione dall'8 in poi.
Esempio 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);
)
)
)
Produzione:
Un esempio del mondo reale può essere la diversa fase del viaggio di un cliente. Naturalmente, tutte le costanti possono essere dichiarate separatamente e assegnate ad esse corrispondenti valori interi, ma l'uso di enum elimina la seccatura di ricordare i valori interi per ogni stadio e rende anche il codice molto più facile da capire.
Esempio n. 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);
)
)
)
Produzione:
Metodi Enum in C #
Di seguito sono riportati alcuni metodi di Enum in C #:
1. GetName (Type, Int32)
Il metodo GetName restituisce la costante denominata mappata sul valore specificato nell'enum. Se non esiste una costante denominata con quel valore, restituisce una stringa vuota.
Questo metodo prevede due parametri: uno è il tipo, ovvero l'enum stesso, e l'altro è il valore specificato.
Codice:
Nello stesso esempio di Giorni sopra, stamperemmo le costanti nominate tramite il metodo 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));
)
)
)
Produzione:
2. GetNames (Tipo)
Si noti nell'esempio sopra, come abbiamo dovuto usare il ciclo for per ottenere tutte le costanti nominate dell'enum. Il metodo GetName è più utile quando abbiamo bisogno di un singolo o forse un numero limitato di costanti nominate.
Per ottenere tutte le costanti nominate, abbiamo un altro metodo GetNames (). Prende l'enum come parametro di input.
Codice:
Nello stesso esempio di Giorni sopra, stamperemmo le costanti nominate tramite il metodo 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);
)
)
)
Produzione:
3. GetValues (tipo)
Il metodo GetValues () viene utilizzato per ottenere i valori mappati sottostanti su ciascuna delle costanti denominate dell'enum.
Codice:
Nello stesso esempio di Giorni sopra, stamperemmo le costanti nominate tramite il metodo 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);
)
)
)
Produzione:
Regole per Enum in C #
- Enum è un tipo, non una variabile / costante / metodo.
- Le costanti con nome enum non possono essere duplicate. Devono essere unici
- Il tipo di enum sottostante non può essere char.
- Il tipo predefinito di enum sottostante è un numero intero.
- Per impostazione predefinita, i valori assegnati all'enum delle costanti denominate iniziano da 0, aumentando di 1 per ogni costante denominata successiva.
Vantaggi di Enum in C #
Gli enum sono una pratica codifica molto vantaggiosa. Sono utilizzati per definire l'insieme di costanti per l'applicazione o il programma. Pertanto, il set rimane costante ed evita il caos nel programma, soprattutto quando si tratta di un'applicazione enorme che coinvolge più sviluppatori.
Esistono molti scenari in cui è possibile utilizzare gli enum. Giorni della settimana, mesi dell'anno, rapporti di conversione per temperature, fattori di conversione per fusi orari o dati della tabella principale per l'applicazione. Questo rende il codice più leggibile e più facile da capire.
Conclusione
Quindi, abbiamo visto l'uso di enum in C #. Abbiamo imparato come funziona e quale può essere il suo uso pratico. Abbiamo compreso le regole da rispettare quando si usano enum. Ci sono anche metodi che ci aiutano ad accedere e formattare l'enum. Si consiglia all'IT di utilizzare le enumerazioni nel codice il più possibile. Questo ti aiuterà a osservare le buone pratiche di codifica e anche a imparare gli enum.
Articoli consigliati
Questa è una guida di Enum in C #. Qui discutiamo il funzionamento, i metodi, le regole e i vantaggi di Enum in C # con esempi e implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più -
- Palindrome in C # con esempi
- Come accedere agli spazi dei nomi in C #?
- I 3 migliori tipi di pattern in C #
- Funzione ricorsiva in C #
- Continua il lavoro di istruzione in C # con esempi
- Fattori in R | Come creare | vantaggi