检查数字是否在给定范围内的有效方法

Sid*_*Sid 1 c# algorithm

考虑以下场景:

  • 我有 2 个常量MAX & MIN

  • 我得到一个新号码x

现在检查 x 是否在给定的愤怒中,我会做这样的事情:

if(x >= MIN && X <= MAX)
{
   //Some logic
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的方法来谈论效率。我确实知道这是一项非常简单的任务,但我只是想知道是否有更好的方法

Pet*_*r B 7

首先,这是一个典型的微优化案例,几乎没有回报。

话虽如此,“优化”这一点的唯一方法是,如果您事先知道其中一个比较极有可能产生false. 如果有,则先进行比较,以利用布尔短路评估

if (x >= MIN && x <= MAX) { ... } // most efficient if x >= MIN is hardly ever true
Run Code Online (Sandbox Code Playgroud)

或者

if (x <= MAX && x >= MIN) { ... } // most efficient if x <= MAX is hardly ever true
Run Code Online (Sandbox Code Playgroud)

如果这两种比较都无法预测,那么我们都浪费了时间......