C#切换/中断

看来我需要在使用C#的switch语句中的每个case块中使用一个中断。

我可以在其他语言中看到这个原因,您可以通过下一个案例陈述。

情况块是否可能落入其他情况块?

非常感谢,非常感谢!


是的,您可以通过两种方式进入下一个案例块。 您可以使用不需要休息的空白案例,也可以使用goto跳转到下一个(或任何)案例:

switch (n) {
  case 1:
  case 2:
  case 3:
    Console.WriteLine("1, 2 or 3");
    goto case 4;
  case 4:
    Console.WriteLine(4);
    break;
}

“休息”的执行是为了阻止错误。 如果您需要强制使用“goto case”(用合适的值替换)

以下示例显示了您可以执行的操作:

switch(n)
{
    case 1:
    case 2:
      //do something for 1+2
      //...
      goto case 3;
    case 3:
      //do something for 3, and also extra for 1+2
      //...
      break;
    default:
      //do something for all other values
      //...
      break;
}

请参阅http://msdn.microsoft.com/en-us/library/06tc147t%28VS.80%29.aspx


C#不支持通过构造隐式落下,但是break (或goto )必须在那里(msdn)。 你可以做的唯一事情是以下面的方式堆叠案件:

switch(something) {
    case 1:
    case 2:
      //do something
      break;
    case 3:
      //do something else
}

但是那个break (或者像goto这样的跳跃声明)只需要在那里。

链接地址: http://www.djcxy.com/p/84467.html

上一篇: C# switch/break

下一篇: Why was the switch statement designed to need a break?