Енум у Ц# је такође познат као набрајање. Користи се за чување скупа именованих константи као што су сезона, дани, месец, величина итд. Константе набрајања су такође познате као пописивачи. Енум у Ц# се може декларисати унутар или изван класе и структура.
Енум константе имају подразумеване вредности које почињу од 0 и повећавају се на једну по једну. Али можемо променити подразумевану вредност.
Тачке које треба запамтити
- енум има фиксни скуп константи
- енум побољшава безбедност типова
- енум се може прећи
Пример Ц# енума
Хајде да видимо једноставан пример Ц# енума.
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); } }
Излаз:
WINTER = 0 SUMMER = 2
Пример Ц# енума који мења почетни индекс
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); } }
Излаз:
WINTER = 10 SUMMER = 12
Пример Ц# набрајања за Дане
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); } }
Излаз:
Sun = 0 Mon = 1 Sat = 6
Пример Ц# набрајања: обилажење свих вредности помоћу гетНамес()
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); } } }
Излаз:
Sun Mon Tue Wed Thu Fri Sat
Пример Ц# набрајања: обилажење свих вредности помоћу гетВалуес()
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); } } }
Излаз:
Sun Mon Tue Wed Thu Fri Sat