【发布时间】:2019-11-25 22:14:14
【问题描述】:
我有以下代码,它模拟从星期六开始的一周,然后将一周分为两部分,如果给定日期是星期六至星期二,则返回星期二,否则返回星期五,但是,我觉得我在做某事错了,而且代码可以简化,但我不知道如何。
private static DateTime SemiWeeklyEndDate(DateTime date)
{
if (((7 + (date.DayOfWeek - DayOfWeek.Saturday)) % 7) <= ((7 + (DayOfWeek.Tuesday - DayOfWeek.Saturday)) % 7))
return date.AddDays((((int)DayOfWeek.Tuesday - (int)date.DayOfWeek + 7) % 7));
return date.AddDays((((int)DayOfWeek.Friday - (int)date.DayOfWeek + 7) % 7));
}
【问题讨论】:
-
如果你有工作代码,这可能更适合codereview。
-
我是这里的新手,我想得到一些反馈,为什么这个问题被关闭了。
-
我认为问题在于“这可以简化吗?”因为问题是主观的(只需看看不同的回答)。如果你能把它变成一个客观的问题,比如“这可以用更少的模运算来完成吗”,你会很好。否则,如果是“嘿,请帮我看一下,欢迎 cmets”,那么您应该将其发布到 codereview。