[英]Shorter way to check multiple or conditions
是否有更简单的方法来检查一个变量值与其他几个变量值? 目前我正在使用这样的代码:
if(a[i] == a[i-13] || a[i] == a[i+13] || a[i] == a[i-1] || a[i] == a[i+1]){
//my code
}
现在,有更短的方法吗? 我知道我可以使用开关 ,但是我必须多次编写我的函数。 有更简单的方法吗?
您无需使用开关多次编写函数:
switch(a[i]){
case a[i-13]:
case a[i+13]:
case a[i-1]:
case a[i+1]:
// This code will run if any of the above cases are true.
}
然而,有趣的是,这几乎是相同数量的字符(取决于你如何格式化它)。 一般来说,switch语句不如显式if
语句强大,但在这种情况下,我发现它更清晰,更不容易出错。
更好的是:
if (matchesAdjacent(a, i)) {
// etc.
}
将逻辑从主线代码移到适当命名的方法中。
这也允许你在那里进行检查(如果在其他地方没有保证)。
不。但以下看起来更整洁:
if(a[i] == a[i-13] ||
a[i] == a[i+13] ||
a[i] == a[i-1] ||
a[i] == a[i+1]
) {
//my code
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.