L'enumerazione in C# è detta anche enumerazione. Viene utilizzato per memorizzare un insieme di costanti denominate come stagione, giorni, mese, dimensione, ecc. Le costanti enum sono note anche come enumeratori. Enum in C# può essere dichiarato all'interno o all'esterno di classi e strutture.
hashset vs hashmap
Le costanti enum hanno valori predefiniti che iniziano da 0 e vengono incrementati uno per uno. Ma possiamo modificare il valore predefinito.
Punti da ricordare
- enum ha un set fisso di costanti
- enum migliora la sicurezza del tipo
- enum può essere attraversato
Esempio di enumerazione C#
Vediamo un semplice esempio di enumerazione C#.
using System; public class EnumExample { public enum Season { WINTER, SPRING, SUMMER, FALL } public static void Main() { int x = (int)Season.WINTER; int y = (int)Season.SUMMER; Console.WriteLine('WINTER = {0}', x); Console.WriteLine('SUMMER = {0}', y); } }
Produzione:
WINTER = 0 SUMMER = 2
Esempio di enumerazione C# che modifica l'indice iniziale
using System; public class EnumExample { public enum Season { WINTER=10, SPRING, SUMMER, FALL } public static void Main() { int x = (int)Season.WINTER; int y = (int)Season.SUMMER; Console.WriteLine('WINTER = {0}', x); Console.WriteLine('SUMMER = {0}', y); } }
Produzione:
ordinamento delle bolle Java
WINTER = 10 SUMMER = 12
Esempio di enumerazione C# per Days
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { int x = (int)Days.Sun; int y = (int)Days.Mon; int z = (int)Days.Sat; Console.WriteLine('Sun = {0}', x); Console.WriteLine('Mon = {0}', y); Console.WriteLine('Sat = {0}', z); } }
Produzione:
Sun = 0 Mon = 1 Sat = 6
Esempio di enumerazione C#: attraversamento di tutti i valori utilizzando getNames()
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { foreach (string s in Enum.GetNames(typeof(Days))) { Console.WriteLine(s); } } }
Produzione:
Sun Mon Tue Wed Thu Fri Sat
Esempio di enumerazione C#: attraversamento di tutti i valori utilizzando getValues()
using System; public class EnumExample { public enum Days { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; public static void Main() { foreach (Days d in Enum.GetValues(typeof(Days))) { Console.WriteLine(d); } } }
Produzione:
Sun Mon Tue Wed Thu Fri Sat