11

我想知道是否有一种方法可以组合开关案例,例如:

   switch (value)
   {
   case 0,1,2:
      nslog (@"0,1,2 cases");
      break
      case 3:
      nslog (@"3 cases");
        break;
      default:
        NSLog (@"anything else");
        break;
   }

我会非常感谢你的帮助

4

3 回答 3

30

你的意思是,像这样的东西?

switch (value)
{
case 0:
case 1:
case 2:
  NSLog (@"0,1,2 cases");
  break;
case 3:
  NSLog (@"3 cases");
  break;
default:
  NSLog (@"anything else");
  break;
}

要知道,switch case 结构会从相应的 case 行开始执行大括号内的每一行,直到到达最后一个或 break。因此,如果您在一个案例之后不包含中断,它也会继续执行下一个案例。

于 2013-08-27T05:25:18.163 回答
1

或者,您可以这样做...

case 0:
case 1:
case 2:
    NSLog();
    break;

case 3:
   NSLog()
   break;

default:
   NSLog();
   break;
于 2013-08-27T05:29:25.767 回答
0

也可以使用范围(代码少一点)。以下示例说明了这一点:

switch (value)
   {
      case 0 ... 2:
         NSLog (@"0,1,2 cases");
         break
      case 3:
         NSLog (@"3 cases");
         break;
      default:
         NSLog (@"anything else");
         break;
   }
于 2016-07-04T10:43:07.307 回答