Может ли Calendar.GetDayOfWeek () вернуть (DayOfWeek) 7? - PullRequest
3 голосов
/ 03 февраля 2011

Я проверяю некоторый код и нашел этот бит (переписан):

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

Я думаю, что это условие всегда возвращает false, поскольку DayOfWeek (тип возвращаемого значения) колеблется от 0 до 6, или это может в конечном итоге вернуть 7 в определенной культуре?

Ответы [ 3 ]

3 голосов
/ 03 февраля 2011

Перечисление DayOfWeek представляет день недели в календарях, которые имеют семь дней в неделю. Значение констант в этом перечислении варьируется от DayOfWeek.Sunday до DayOfWeek.Saturday. Если приведено к целому числу, его значение колеблется от нуля (который указывает DayOfWeek.Sunday) до шести (который указывает DayOfWeek.Saturday).

Источник - http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx

2 голосов
/ 03 февраля 2011

Вы смотрели на страницу перечисления DayOfWeek на MSDN ?

Перечисление DayOfWeek представляет день недели в календарях, которые имеют семь дней в неделю. Значение констант в этом перечислении варьируется от DayOfWeek.Sunday до DayOfWeek.Saturday. Если приведено к целому числу, его значение колеблется от нуля (который указывает DayOfWeek.Sunday) до шести (который указывает DayOfWeek.Saturday).

1 голос
/ 03 февраля 2011

Обычно GetDayOfWeek никогда не возвращает (преобразованное) значение 7.

Из кода очень неясно, чего хочет программист.Я предлагаю переписать это как:

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

или что-то еще.

...