Convert String to enum System.DayOfWeek

As far as i see, there are two ways how to convert string representation day of week to enum System.DayOfWeek

Let see the first one:

            switch (strDayofWeekFromXml)
            {
                case "Monday":
                    BuildingOpenDate.DayOfWeek = DayOfWeek.Monday;
                    break;
                case "Tuesday":
                    BuildingOpenDate.DayOfWeek = DayOfWeek.Tuesday;
                    break;
                // etc boring ....
            }

Don't you find it's silly and boring ? What if we need to convert string to enum where we have hundreds enums values ?
Thanks to .Net, there is an elegant solution for this task

            if (Enum.IsDefined(typeof(DayOfWeek), strDayofWeekFromXml))
            {
                BuildingOpenDate.DayOfWeek = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), strDayofWeekFromXml, true);
            }
            else
            {
                // do some logic here
            }

Looks better and works for any enum types, not only for DayOfWeek :)

4 Comments

Comments have been disabled for this content.