如何使用Objective-C测试数字是否在范围内?

Val*_*adu 16 c objective-c

我有一个非常基本的问题.我想知道这是否是Objective-C或C中的内置函数,以帮助我找到特定数字是否在某个范围内.我知道这可能是一个简单的问题,但我仍然没有找到答案.在短期内,我们希望避免在此测试中使用多个"if"和"else".

tas*_*oor 35

NSLocationInRange(c, NSMakeRange(a, (b - a)))

如果c位于a和b内,则返回BOOL.但是,a,b和c必须是unsigned int.这真的不是很好看.所以我想比较自己要好得多.

c >= a && c <= b


Jon*_*pan 14

你在C,C++,Java,C#中的表现方式相同......

if (theNumber >= SOME_MINIMUM_VALUE && theNumber <= SOME_MAXIMUM_VALUE)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

这是一个"包容性"范围检查.应该很容易弄清楚如何进行"独家"检查.

没有内置功能,但也没有办法比我熟悉的任何架构上的两个条件更有效.任何函数或宏最终都会归结为与上面相同.

如果你担心它会很慢,那就不要了.如果您确实发现这在某种程度上是一个瓶颈,那么只关心性能.过早优化不值得你花时间.