我想知道是否有一种更简单的方法可以将多个 OR 语句作为单个 IF 语句的一部分。
目前我正在这样做:
if ((i == 1) || (i == 4) || (i == 7)) {}
有没有更简单的方法?
我想知道是否有一种更简单的方法可以将多个 OR 语句作为单个 IF 语句的一部分。
目前我正在这样做:
if ((i == 1) || (i == 4) || (i == 7)) {}
有没有更简单的方法?
您可以使用switch
带有跌落的块。
switch (i)
{
case 1:
case 4:
case 7:
yourCode;
break;
}
您可以使用NSArray
'containsObject:
方法,如下所示:
if ([@[@1, @4, @7] containsObject:@(i)]) {
...
}
这种方法的实用性随着列表的长度而提高:三个项目,你的解决方案看起来更好,但是一旦你越过了大约十个数字的限制,这个解决方案变得越来越可读:
if ([@[@1, @3, @12, @17, @23, @27, @31, @41, @43, @57] containsObject:@(i)]) {
...
}
您可以为预期常量列表创建一个命名数组@[@1, @4, @7]
以缩短if
,如下所示:
NSArray *expect = @[@1, @4, @7];
...
if ([expect containsObject:@(i)]) {
...
}