首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-08-14 
关于C#枚举的用法C# codeprivate DateTime GetDate(DayOfWeek dw, DateTime jcTime){if ((jcTime.DayOfWee

关于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吧,这个&运算符没有道理啊

热点排行