【发布时间】:2019-04-10 17:14:56
【问题描述】:
我有一个 DayOfWeek 枚举项的列表:var daysOfWeek = List<DayOfWeek>
此列表包含可变数量的 DaysOfWeek 项目,例如周一、周四、周六。
我想根据List<DayOfWeek> 找到任何给定日期时间的下一个日期时间。
如果给定的日期是星期三,则应该返回的下一个 DateTime 将是星期四。
如果给定的日期是星期四,则应该返回的下一个 DateTime 将是星期六。
到目前为止,我一直在摆弄一些 LINQ 表达式并尝试使用 Min() 扩展方法的一些选项,但没有可以共享的代码。我想知道我是否缺少一些真正的基本 LINQ 功能。
到目前为止,给我一些想法的 SO-Topics 包括 this one 和 that one,但是我无法通过他们的回答为我的问题找到解决方案。
【问题讨论】:
-
我已经回答了,但必须澄清一下,您是在搜索下一个 DayOfWeek 还是下一个 DateTime?
-
感谢您的回答@RistoM!我正在搜索与列表中最近的 DayOfWeek 匹配的下一个 DateTime。
-
好的,让我们看看我是否可以改进答案..
-
列表中的顺序是否重要(例如,如果是星期一、星期六、星期四,星期四会导致星期一或星期六)?
-
不,顺序无关紧要。