读书人

关于C#枚举的用法解决方案

发布时间: 2012-08-14 10:39:58 作者: rapoo

关于C#枚举的用法

C# code
private DateTime GetDate(DayOfWeek dw, DateTime jcTime)    {        if ((jcTime.DayOfWeek & dw) != 0)        {            return jcTime;        }        for (int i = 1; i < 7; i++)        {            DateTime time = jcTime.AddDays(i);            if ((time.DayOfWeek & dw) != 0)            {                return time;            }        }        return jcTime;    } protected void Page_Load(object sender, EventArgs e)    {        DateTime today = DateTime.Now;        DayOfWeek dw;        switch (m_GameType)        {            case 1://双色球                dw = DayOfWeek.Tuesday | DayOfWeek.Thursday | DayOfWeek.Sunday;                timeStr = ConvertToString(GetKJDate(dw, DateTime.Now)) + " 19:30:00";                break;            case 2://七乐彩                dw = DayOfWeek.Monday | DayOfWeek.Wednesday | DayOfWeek.Friday;                timeStr = ConvertToString(GetKJDate(dw, DateTime.Now)) + " 19:30:00";                break;            case 3://3D                timeStr = ConvertToString(today) + " 19:30:00";                break;        }     }

为什么我使用的时候GetDate()返回的值总是一样呢?

[解决办法]
dayofweek这个枚举上没有[Flag]标记吧, 在枚举上使用&运算符只有在标有flag的枚举上,或者指定枚举值为2的次方的时候才有意义

dayofweek的值好像是1-7吧,这个&运算符没有道理啊

读书人网 >asp.net

热点推荐