Enum in C# is also known as enumeration. It is used to store a set of named constants such as season, days, month, size etc. The enum constants are also known as enumerators. Enum in C# can be declared within or outside class and structs.
Enum constants has default values which starts from 0 and incremented to one by one. But we can change the default value.
Let's see a simple example of C# enum.
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); } }
C# enum example changing start index
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); } }
C# enum example for 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); } }
C# enum example: traversing all values using 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); } } }
C# enum example: traversing all values using 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); } } }