带有 && 和 || 的 IF 函数 同时

我想在几个条件下做 IF AND && 和 OR || 在上面


我有两个数字范围 Top1 - Bottom1 和 Top2 - Bottom2


并且仅当 Currentnumber 在这两个范围内时执行,我这样做可以吗?


if (OnlyAbove == True

    && (Top1 > Currentnumber || Top2 > Currentnumber)

    && (Bottom1 < Currentnumber || Bottom2 < Currentnumber)

   )

{

   Statement

}


缥缈止盈
浏览 129回答 1
1回答

慕虎7371278

我要大胆地说:不,你在这方面做得不对——主要是因为你的代码目前所做的没有意义。有助于解决此类问题的一件事是用普通英语来表达它——所以你从:if (OnlyAbove == True&nbsp; &nbsp; && (Top1 > Currentnumber || Top2 > Currentnumber)&nbsp; &nbsp; && (Bottom1 < Currentnumber || Bottom2 < Currentnumber)&nbsp; &nbsp;){&nbsp; &nbsp;Statement}... 至 ...if OnlyAbove&nbsp; &nbsp; AND (CurrentNumber above at least one of the two Tops)&nbsp; &nbsp; AND (CurrentNumber below at least one of the bottoms)毕竟,那些内部括号之间的内容是“Top1 > current OR Top2 > current”——这实际上不是您要查找的内容。有些事情会有所帮助 - 不仅要编写这样的代码,而且还要阅读它,那就是对变量有点过火。变量在帮助您记录逻辑方面非常棒,因为您可以非常描述性地命名它们。想象一下这样的代码:bool betweenRange1 = (Currentnumber > Bottom1) && (Currentnumber < Top1);bool betweenRange2 = (Currentnumber > Bottom2) && (Currentnumber < Top2);if (OnlyAbove && betweenRange1 && betweenRange2){&nbsp; &nbsp; Statement}... IF 语句开始看起来更具可读性 - 一目了然地了解它的含义。如果您在解析 IF 语句时遇到问题,养成这种习惯并不是一个坏习惯。也许有点矫枉过正......但矫枉过正比拥有你不确定它在做什么的代码要好得多:-)
打开App,查看更多内容
随时随地看视频慕课网APP