Enum u C# je također poznat kao enumeration. Koristi se za pohranjivanje skupa imenovanih konstanti kao što su sezona, dani, mjesec, veličina itd. Enum konstante su također poznate kao popisivači. Enum u C# se može deklarirati unutar ili izvan klasa i struktura.
Enum konstante imaju zadane vrijednosti koje počinju od 0 i povećavaju se na jednu po jednu. Ali možemo promijeniti zadanu vrijednost.
Bodovi za pamćenje
- enum ima fiksni skup konstanti
- enum poboljšava sigurnost tipa
- enum se može proći
Primjer C# Enum
Pogledajmo jednostavan primjer C# enuma.
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); } }
Izlaz:
WINTER = 0 SUMMER = 2
C# primjer enuma mijenja početni indeks
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); } }
Izlaz:
WINTER = 10 SUMMER = 12
C# primjer enuma za Dane
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); } }
Izlaz:
Sun = 0 Mon = 1 Sat = 6
C# primjer enuma: obilazak svih vrijednosti pomoću 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); } } }
Izlaz:
Sun Mon Tue Wed Thu Fri Sat
C# primjer enuma: obilazak svih vrijednosti pomoću 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); } } }
Izlaz:
Sun Mon Tue Wed Thu Fri Sat