3

我正在查看一些代码并发现这一点(重写):

if ((int)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(someDate) == 7) ...

我认为这个条件总是返回 false,因为 DayOfWeek (返回类型)的范围从 0 到 6,或者这最终会在特定文化中返回 7 吗?

4

3 回答 3

3

DayOfWeek 枚举表示每周有 7 天的日历中的星期几。此枚举中常量的值范围从 DayOfWeek.Sunday 到 DayOfWeek.Saturday。如果转换为整数,则其值范围从零(表示 DayOfWeek.Sunday)到六(表示 DayOfWeek.Saturday)。

来源 - http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

于 2011-02-03T14:01:58.763 回答
2

您是否查看过MSDN 上的 DayOfWeek 枚举页面

DayOfWeek 枚举表示每周有 7 天的日历中的星期几。此枚举中常量的值范围从 DayOfWeek.Sunday 到 DayOfWeek.Saturday。如果转换为整数,则其值范围从零(表示 DayOfWeek.Sunday)到六(表示 DayOfWeek.Saturday)。

于 2011-02-03T14:01:31.277 回答
1

通常 GetDayOfWeek 永远不会返回(转换后的)值 7。

从代码中很不清楚程序员想要什么。我建议将其重写为:

if (CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(someDate) == DayOfWeek.Saturday) ...

或者其他的东西。

于 2011-02-03T14:06:59.227 回答