我正在查看一些代码并发现这一点(重写):
if ((int)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(someDate) == 7) ...
我认为这个条件总是返回 false,因为 DayOfWeek (返回类型)的范围从 0 到 6,或者这最终会在特定文化中返回 7 吗?
我正在查看一些代码并发现这一点(重写):
if ((int)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(someDate) == 7) ...
我认为这个条件总是返回 false,因为 DayOfWeek (返回类型)的范围从 0 到 6,或者这最终会在特定文化中返回 7 吗?
DayOfWeek 枚举表示每周有 7 天的日历中的星期几。此枚举中常量的值范围从 DayOfWeek.Sunday 到 DayOfWeek.Saturday。如果转换为整数,则其值范围从零(表示 DayOfWeek.Sunday)到六(表示 DayOfWeek.Saturday)。
来源 - http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx
您是否查看过MSDN 上的 DayOfWeek 枚举页面?
DayOfWeek 枚举表示每周有 7 天的日历中的星期几。此枚举中常量的值范围从 DayOfWeek.Sunday 到 DayOfWeek.Saturday。如果转换为整数,则其值范围从零(表示 DayOfWeek.Sunday)到六(表示 DayOfWeek.Saturday)。
通常 GetDayOfWeek 永远不会返回(转换后的)值 7。
从代码中很不清楚程序员想要什么。我建议将其重写为:
if (CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(someDate) == DayOfWeek.Saturday) ...
或者其他的东西。