我遇到以下代码时遇到问题似乎break语句很好但我看不到什么。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Switch
{
class swtich
{
static void Main(string[] args)
{
string input; int num;
Console.WriteLine("Enter a number from 0-6: ");
input = Console.ReadLine();
num = int.Parse(input);
switch (num)
{
case 0:
Console.WriteLine("Sunday");
break;
case 1:
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
case 4:
Console.WriteLine("Thursday");
break;
case 5:
Console.WriteLine("Friday");
break;
case 6:
Console.WriteLine("Saturday");
break;
default:
Console.WriteLine("Invalid input");
}
}
}
}
这是我得到的错误 控件不能从一个案例标签('默认:')转到另一个案例标签
答案 0 :(得分:34)
在break;
案例之后加default:
。
...
case 6:
Console.WriteLine("Saturday");
break;
default:
Console.WriteLine("Invalid input");
break;
}
default
案例不一定要在最后,因此您必须像其他地方一样包含break
以避免此警告。
答案 1 :(得分:17)
与C,C ++或Java中的switch
语句不同,C#不允许使用case语句,这包括default
case语句。您必须在break
案例之后添加default
。
default:
Console.WriteLine("Invalid Input");
break; // this is required
正如@AlexeiLevenkov指出的那样,break
并不是必需的,但是,需要某种阻止到达构造末尾的语句,例如return
,{{1 }或break
。