Tuesday, June 23, 2026

C# Example of GetNames and GetValues methods of System.Enum class

Example of GetNames and GetValues to get all named constants and their values of an enumeration (enum)
enum DayOfWeek
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

class EnumExample
{
    static void Main(string[] args)
    {
        // loop through all names of DayOfWeek enum
        // System.Enum class provides a static method called GetNames
        // that returns an array of the names of the constants in a specified enumeration.
        foreach (string day in Enum.GetNames(typeof(DayOfWeek)))
        {
            Console.WriteLine(day);
        }
        // LINQ for fun, using System.Linq namespace
        Console.WriteLine("------------------");
        Enum.GetNames(typeof(DayOfWeek)).ToList().ForEach(day => Console.WriteLine(day));
        // loop through all values of DayOfWeek enum
        Console.WriteLine("------------------");
        Enum.GetValues(typeof(DayOfWeek))
            .Cast<DayOfWeek>().ToList() // cast Enumerable to List
            .ForEach(day => Console.WriteLine($"{day} = {(int)day}"));
    }
}
OUTPUT
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
------------------
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
------------------
Monday = 0
Tuesday = 1
Wednesday = 2
Thursday = 3
Friday = 4
Saturday = 5
Sunday = 6

C# Example of enum typecast as number and vice versa

Example of enum typecasted as number and vice versa
enum DayOfWeek
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

class EnumExample
{
    static void Main(string[] args)
    {
        DayOfWeek today = DayOfWeek.Wednesday;
        Console.WriteLine(today);
        Console.WriteLine(DayOfWeek.Wednesday);
        int value = (int)DayOfWeek.Wednesday;
        Console.WriteLine($"Value of Wednesday is {value}");
        DayOfWeek day = (DayOfWeek)3; // cast number to enum
        Console.WriteLine($"3 stands for {day}");
        day = (DayOfWeek)8; // cast number out of range
        Console.WriteLine($"8 stands for {day}");// returns number not defined in enum
    }
}
Output
Wednesday
Wednesday
Value of Wednesday is 2
3 stands for Thursday
8 stands for 8

Hot Topics