This code is a simplified version of what I\'m trying to do:
string day = Thursday;
DateTime dt = DateTime.Now;
if (day == dt.DayOfWeek)
{
// start the
Use Enum.Parse
to get the Enum value:
if ((DayOfWeek)Enum.Parse(typeof(DayOfWeek), day) == dt.DayOfWeek)
If you're not sure it's a valid value, there's TryParse<T>
:
Enum val;
if (Enum.TryParse<DayOfWeek>(day, out val) && val == dt.DayOfWeek)
You can use Enum.TryParse<DayOfWeek>:
string strDay = "Wednesday";
DayOfWeek day;
if (Enum.TryParse<DayOfWeek>(strDay, out day)
&& day == DateTime.Today.DayOfWeek)
{
// ...
}
Try DayOfWeek day = DayOfWeek.Thursday;
Easiest is to convert enum to string:
if (day == dt.DayOfWeek.ToString())...
Notes:
day
to DayOfWeek
enum you can avoid string comparisons (and its related localization/comparison issues).DayOfWeek.Thursday
) and use corresponding String.Equals
method.Parse
as suggested in other answers: ((DayOfWeek)Enum.Parse(typeof(DayOfWeek), day)