日期:2014-05-20  浏览次数:21192 次

请教“控制不能从一个 case 标签(“case 0:”)贯穿到另一个 case 标签”?
正在学习c#,书上有一作业题:
//SwitchTest.cs
using   System;
class   SwitchTest
{
public   static   void   Main()
{
int   i=0,j=1;
switch(i)
{
case   0:
Console.WriteLine( "i=0 ");
switch(j)
{
case   0:
Console.WriteLine( "j=0 ");
break;
case   1:
Console.WriteLine( "j=1 ");
break;
case   2:
Console.WriteLine( "j=2 ");
break;
}
case   1:  
Console.WriteLine( "i=1 ");
break;    
default:
Console.WriteLine( "\n ");
break;
}
                Console.Read();
}
}
编译后出了错,却不知怎么改?

正在执行主编译...
f:\code\temp1\whileecho.cs(8,3):   error   CS0163:   控制不能从一个   case   标签(“case   0:”)贯穿到另一个   case   标签

生成完成   --   1   个错误,0   个警告
正在生成附属程序集...


----------------------   完成   ---------------------

        生成:   0   已成功,   1   已失败,   0   已跳过


------解决方案--------------------
switch(j)
{
case 0:
Console.WriteLine( "j=0 ");
break;
case 1:
Console.WriteLine( "j=1 ");
break;
case 2:
Console.WriteLine( "j=2 ");
break;
}

这里补一个 break;
------解决方案--------------------
case 0:
Console.WriteLine( "i=0 ");

后面要加break;

每个case都必须有break;
------解决方案--------------------
补在里面的 switch 结束后
这是外面的 switch 必须的
------解决方案--------------------
第一个case就少了
break;
这种错误提示都市少了break