Skip to content

Enum Parse and Enum GetValues

Context: Enum.Parse converts a string to an enum value. Enum.GetValues retrieves all values of an enum. Enum.GetNames retrieves the names.

string input = "Tuesday";
DaysOfWeek day = (DaysOfWeek)Enum.Parse(typeof(DaysOfWeek), input);
// With generics (C# 5+)
DaysOfWeek day2 = Enum.Parse<DaysOfWeek>(input);
if (Enum.TryParse<DaysOfWeek>("Monday", out DaysOfWeek result))
{
Console.WriteLine(result);
}
foreach (DaysOfWeek d in Enum.GetValues(typeof(DaysOfWeek)))
{
Console.WriteLine($"{d} = {(int)d}");
}
foreach (string name in Enum.GetNames(typeof(DaysOfWeek)))
{
Console.WriteLine(name);
}

Dynamic UI generation: Use Enum.GetValues to populate a dropdown list with enum values (e.g., OrderStatus). Use Enum.Parse to convert user selection back to enum.

Example: In Blazor, you can bind <select> to an enum using these methods.