C# 当值不同时,如何在映射响应上使用开关响应?
我一直试图在映射的响应上使用switch语句来确定它是一周中的哪一天。根据响应,向用户写入一个字符串。例如,对于星期一,写下。星期一是第一个工作日。。星期二,写。星期二是第二个工作日,。等等 我已经试过了,如下所述,C不允许使用或| |运算符。有人能帮我吗C# 当值不同时,如何在映射响应上使用开关响应?,c#,C#,我一直试图在映射的响应上使用switch语句来确定它是一周中的哪一天。根据响应,向用户写入一个字符串。例如,对于星期一,写下。星期一是第一个工作日。。星期二,写。星期二是第二个工作日,。等等 我已经试过了,如下所述,C不允许使用或| |运算符。有人能帮我吗 using System; enum WeekDay { Sunday = 0, Monday = 1, Tuesday, Thursday, Friday, Saturday }; static void Main(string[] a
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)
这只是一个习惯,我必须帮助我的可读性;我喜欢分割/包含我的比较对象。错过的分号正是这样,错过了-对不起:)