C#中的动态If语句

时间:2019-12-03 03:27:25

标签: c#

我正在尝试使用https://github.com/dahall/TaskScheduler,并且有这种语法。

wt.DaysOfWeek = DaysOfTheWeek.Monday | DaysOfTheWeek.Saturday;

问题是我有一天的名单

List<String> days = {"Tuesday", "Thursday"}

我想动态地将列表变成'一条if语句',这样结果是

wt.DaysOfWeek = DaysOfTheWeek.Tuesday | DaysOfTheWeek.Thursday;

到目前为止,我考虑循环列表,连接字符串并评估它(即使eval函数在C#中本身并不存在)。

我该如何实现?谢谢吗?

1 个答案:

答案 0 :(得分:2)

尝试一下:

        List<String> days = new List<string> {"Tuesday", "Thursday"};

        DaysOfTheWeek? dow = null;

foreach (var day in days) {
        DaysOfTheWeek dayValue;
         if (Enum.TryParse(day, true, out dayValue)) {
             dow = dow == null ? dayValue : dow | dayValue;
         }
}