Convert Enums to Strings in C#
Enums are user-defined data types that consist of a set of named integral constants. They are valuable in scenarios where a variable can only take one of a predefined set of values, improving code readability and maintainability.
public enum Days
{
    Sunday,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday
}
In the above example, we've defined an Enum named Days with distinct values representing the days of the week.
Converting Enums to Strings
To convert Enums to Strings in C#, developers often use the ToString() method, which is inherent to all Enum types. 
using System;
class Program
{
    enum Days
    {
        Sunday,
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday
    }
    static void Main()
    {
        // Converting Enum to String
        Days today = Days.Wednesday;
        string dayString = today.ToString();
        // Output
        Console.WriteLine($"Today is: {dayString}");
    }
}
In this program, we define an Enum Days and initialize a variable today with the value Days.Wednesday. The ToString() method is then used to convert the Enum value to a string, which is stored in the variable dayString. The output will be:
Today is: Wednesday
Handling Enum to String Conversion with Switch Statements
While the ToString() method is straightforward, handling Enum to String conversion with a switch statement provides greater control over the output:
using System;
class Program
{
    enum Days
    {
        Sunday,
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday
    }
    static void Main()
    {
        // Converting Enum to String with Switch Statement
        Days today = Days.Friday;
        string dayString = GetDayString(today);
        // Output
        Console.WriteLine($"Today is: {dayString}");
    }
    static string GetDayString(Days day)
    {
        switch (day)
        {
            case Days.Sunday:
                return "Sunday";
            case Days.Monday:
                return "Monday";
            case Days.Tuesday:
                return "Tuesday";
            case Days.Wednesday:
                return "Wednesday";
            case Days.Thursday:
                return "Thursday";
            case Days.Friday:
                return "Friday";
            case Days.Saturday:
                return "Saturday";
            default:
                throw new ArgumentOutOfRangeException();
        }
    }
}
In this example, we create a method GetDayString that takes a Days Enum parameter and uses a switch statement to return the corresponding string value. This approach allows for more customization and handling of edge cases.
Output:
Today is: Friday


Comments (0)