检查switch语句中的数字是否匹配1个数字

时间:2015-03-03 22:04:12

标签: ios objective-c switch-statement

我有switch语句,比较integer。我要做的是检查integer是否一直匹配1个号码,直到下一个号码。

例如:如果我想比较名为integer的{​​{1}},我想看看,如果数字2,3,4,5或6与`myInteger相匹配,那么请执行以下

以下是一个编码示例:

myInteger

那么,我如何制作switch (myInteger) { case 0: ... case 1: ... case 2 to 7: // This is what I'm trying to achieve ... } 语句,迭代一系列数字?

2 个答案:

答案 0 :(得分:3)

您可以使用...运算符实际使用目标C执行此操作。

根据您的示例,这将在0到7之间以及8到14之间找到。任何更大的默认操作。

switch (myInteger) {
    case 0 ... 7:
      break;
    case 8 ... 14:
      break;
    default:
      break;
}

亲自试试,你会发现它有效。它是gcc支持的宿醉:

Switch-Case Statement and Range of Numbers

答案 1 :(得分:-1)

像Objective-C这样的基于C语言不支持这种语法。只需使用if语句:

if (myInteger >= 2 && myInteger <= 7)) {
    // do stuff
}

在switch语句中,每个case值必须是离散常量。