【发布时间】:2012-12-31 00:15:52
【问题描述】:
我有一个问题,但我无法找到答案。 有什么办法可以减少Objective-C中的以下表达式?
if ((r != 1) && (r != 5) && (r != 7) && (r != 12)) {
// The condition is satisfied
}else{
// The condition isn't satisfied
}
例如(不工作):
if (r != (1 || 5 || 7 || 12)) {
// The condition is satisfied
}else{
// The condition isn't satisfied
}
谢谢!
【问题讨论】:
-
你可以去掉一些括号。
-
这将是一个更长的表达式,但您可以创建一个包含 1、5、7 和 12 的整数数组,并检查它是否包含
r。更多代码,但更易于维护。 -
尝试阅读德摩根法律。
-
如果您可以控制要比较的值,也可以将其设为掩码,然后使用按位运算来检查值。
标签: objective-c if-statement operators conditional