namespace 枚举类型的使用及获取当前时间
{
    class Program
    {
        enum MyDate { Sun, Mon, Tue, Wed, Thi, Fri, Sat }//默认时,第一个成员的值是0
        static void Main(string[] args)
        {
           int k = (int)DateTime.Now.DayOfWeek;//获取当前时间
            switch(k)
            {
                case (int )MyDate.Sun:Console.WriteLine("今天是星期日");break;
                case (int )MyDate.Mon:Console.WriteLine("今天是星期一");break;
                case (int )MyDate.Tue:Console.WriteLine("今天是星期二");break;
                case (int )MyDate.Wed:Console.WriteLine("今天是星期三");break;
                case (int )MyDate.Thi:Console.WriteLine("今天是星期四");break;
                case (int )MyDate.Fri:Console.WriteLine("今天是星期五");break;
                case (int)MyDate.Sat: Console.WriteLine("今天是星期六"); break;        }
            /*或者
              int i=Convert.ToInt32(DateTime.Today.DayOfWeek);
              switch(i)
              {
               case 1:Console.WriteLine("今天是星期一");break;
               case 2:Console.WriteLine("今天是星期二");break;
               case 3:Console.WriteLine("今天是星期三");break;
               case 4:Console.WriteLine("今天是星期四");break;
               case 5:Console.WriteLine("今天是星期五");break;
               case 6:Console.WriteLine("今天是星期六");break;
               case 7:Console.WriteLine("今天是星期日");break;
                }*/
            //不明白DateTime.Now.DayOfWeek;和DateTime.Today.DayOfWeek怎么似乎前一个的周日输出的整型为0而后一个周日输出的整型似乎为7
            Console.ReadLine();
    }
}
}为什么两个的运行结果一样呢

解决方案 »

  1.   

    System.DateTime.Now.DayOfWeek 
    属性值的范围从零(表示星期日)到六(表示星期六) 
      

  2.   

    肯定是一样的,枚举默认就是从0开始,所以是0--6,应该像下面这样写int k = (int)DateTime.Now.DayOfWeek;//获取当前时间
                switch (k)
                {
                    case (int)MyDate.Sun: Console.WriteLine("今天是星期日"); break;
                    case (int)MyDate.Mon: Console.WriteLine("今天是星期一"); break;
                    case (int)MyDate.Tue: Console.WriteLine("今天是星期二"); break;
                    case (int)MyDate.Wed: Console.WriteLine("今天是星期三"); break;
                    case (int)MyDate.Thi: Console.WriteLine("今天是星期四"); break;
                    case (int)MyDate.Fri: Console.WriteLine("今天是星期五"); break;
                    case (int)MyDate.Sat: Console.WriteLine("今天是星期六"); break;
                }
                /*或者
                int i = Convert.ToInt32(DateTime.Today.DayOfWeek);
                switch (i)
                {
                    case 0: Console.WriteLine("今天是星期日"); break;
                    case 1: Console.WriteLine("今天是星期一"); break;
                    case 2: Console.WriteLine("今天是星期二"); break;
                    case 3: Console.WriteLine("今天是星期三"); break;
                    case 4: Console.WriteLine("今天是星期四"); break;
                    case 5: Console.WriteLine("今天是星期五"); break;
                    case 6: Console.WriteLine("今天是星期六"); break;
                    
                }*/