当值不同时,如何在映射响应上使用切换响应?

时间:2015-04-02 17:06:40

标签: c#

我一直在尝试在映射的响应上使用switch语句来确定它是哪一天。根据响应,将字符串写入用户。例如,对于星期一,写.Monday是第一个工作日..对于星期二,写。星期二是第二个工作日。等等。

我试过如下所述,C#不允许使用OR ||接线员可以帮助我吗?

using System;

enum WeekDay { Sunday = 0, Monday = 1, Tuesday, Thursday, Friday, Saturday };

static void Main(string[] args)
{
    {
        Console.WriteLine("What day is today");
        String strday = Console.ReadLine();

        WeekDay Result = WeekDay.Sunday;
        WeekDay Result1 = WeekDay.Monday;
        WeekDay Result2 = WeekDay.Tuesday;

        switch (Result)
        {
            case WeekDay.Sunday:
            Console.WriteLine("Sunday is a first day");
            break;
        }

        switch (Result1)
        {
            case WeekDay.Monday:
            Console.WriteLine("Monday is a second day");
            break;
        }

        Console.ReadLine();
    }
}

}

1 个答案:

答案 0 :(得分:0)

这是因为你的开关的语法有点偏。你是100%正确,开关不允许&&或||操作。我想你会想要这样的东西:

DateTime curDate = DateTime.Now;

    switch(curDate.DayofWeek) //day of week is an enum, you can .ToString() it to compare against "Monday", "Tuesday", etc... or leave it as an INT, your call. 
    {
       case (1):
          Console.WriteLine("Sunday is first day")
          break;
       case (2):
          Console.WriteLine("Monday is second day")
          break;
       etc...
    }