17

我将星期几存储在数据库中,其中星期日 = 1,星期一 = 2 等。

在来自数据库的查询中,我需要将日期转换为System.DayOfWeek.

根据MSDN

此枚举中常量的值范围从DayOfWeek.SundayDayOfWeek.Saturday。如果转换为整数,则其值范围从零(表示DayOfWeek.Sunday)到六(表示DayOfWeek.Saturday)。

这意味着在我查询数据后,我需要在将结果转换为DayOfWeek.

这安全吗?
还是我需要担心数值的DayOfWeek变化?

4

2 回答 2

36

是的,这个保险箱,您不必担心值的变化。以下是枚举的定义方式:

public enum DayOfWeek
{
    Sunday = 0,
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3,
    Thursday = 4,
    Friday = 5,
    Saturday = 6
}

如果 BCL 中的这些值发生变化,那么大量的代码将会中断。

于 2012-12-02T14:54:17.403 回答
1

是的,总是安全的,你可以前后移动:

return DateTime.Today.AddDays(-1);

return DateTime.Today.AddDays(1);
于 2012-12-02T14:56:59.797 回答