C# 当值不同时,如何在映射响应上使用开关响应?

C# 当值不同时,如何在映射响应上使用开关响应?,c#,C#,我一直试图在映射的响应上使用switch语句来确定它是一周中的哪一天。根据响应,向用户写入一个字符串。例如,对于星期一,写下。星期一是第一个工作日。。星期二,写。星期二是第二个工作日,。等等 我已经试过了,如下所述,C不允许使用或| |运算符。有人能帮我吗 using System; enum WeekDay { Sunday = 0, Monday = 1, Tuesday, Thursday, Friday, Saturday }; static void Main(string[] a

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

我已经试过了,如下所述,C不允许使用或| |运算符。有人能帮我吗

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();
    }
}

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

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...
    }

案例(2):
应改为“星期一是第二天”;对不起,被复制/粘贴咬了。1。你错过了书写线上的分号,2。我很确定你不需要在案例1上加括号。但无论如何,干得好:D正确,你不需要括号括起来。
(1)
这只是一个习惯,我必须帮助我的可读性;我喜欢分割/包含我的比较对象。错过的分号正是这样,错过了-对不起:)