我正在考虑避免在我的代码中出现嵌套的if语句。
for (i = 0; i < N; i++) {
if(x & y != 0) {
if(z & k == z) {
if(w & ( (c || u) && f)) {
// Do something with the checked condition
}
}
}
}
`
首先for循环然后在多个if语句中看起来很难看。此外,值x,y,z,k等形式为edgeBag [i] .edgeWeight,甚至大于宽度,因此看起来更难看。
我能想到的一种方法是使用变量来存储x,y,z等,然后使用if语句中的变量来检查条件。
for (i = 0; i < N; i++) {
a = x;
b = y;
...
if(a & b != 0) {
...
...
// .....
}
}
一开始我对此并不十分恼火,但一旦这种模式开始频繁发生就会令人讨厌。有没有办法避免这种模式。或者更好的说明方式。感谢。
答案 0 :(得分:1)
怎么样:
for (i = 0; i < N; i++) {
if(x & y == 0) continue;
if(z & k != z) continue;
if(!(w & ((c || u) && f))) continue;
// Do something with the checked condition
}
您也可以||
将ifs放在一起。