不在 if 条件下加倍 - 最佳实践?
Double not in if condition - best practice?
我还是个新手,所以您的智慧和建议将不胜感激。
我遇到了一个棘手的 if 条件,我不确定我这样做是否正确。
if(!conditionOne && conditionTwo){
//do nothing
} else {
//do something
}
我讨厌 if 有一个空代码块,但我不确定是否有更好的方法来执行此操作。这似乎是最少的代码,而且没有像
这样的东西使它变得不那么简单
if(!(!conditionOne && conditionTwo)){
我觉得这看起来很奇怪,但也许这样更好?
或
if((!conditionOne && !conditionTwo) || (conditionOne && conditionTwo) || (conditionOne && !conditionTwo){
这对我来说似乎更复杂。
conditionOne conditionTwo Outcome
False True Do nothing
False False Do something
True True Do something
True False Do something
实现这个的最佳方法是什么?
De-Morgan's law,您正在寻找
if(conditionOne || !conditionTwo) {
//do something
}
你应该看看 De Morgan's Laws。它涵盖了一些重要的概念。例如:
!(a && b)
等同于 (!a || !b)
同样
!(a || b)
等同于(!a && !b)
我还是个新手,所以您的智慧和建议将不胜感激。
我遇到了一个棘手的 if 条件,我不确定我这样做是否正确。
if(!conditionOne && conditionTwo){
//do nothing
} else {
//do something
}
我讨厌 if 有一个空代码块,但我不确定是否有更好的方法来执行此操作。这似乎是最少的代码,而且没有像
这样的东西使它变得不那么简单if(!(!conditionOne && conditionTwo)){
我觉得这看起来很奇怪,但也许这样更好?
或
if((!conditionOne && !conditionTwo) || (conditionOne && conditionTwo) || (conditionOne && !conditionTwo){
这对我来说似乎更复杂。
conditionOne conditionTwo Outcome
False True Do nothing
False False Do something
True True Do something
True False Do something
实现这个的最佳方法是什么?
De-Morgan's law,您正在寻找
if(conditionOne || !conditionTwo) {
//do something
}
你应该看看 De Morgan's Laws。它涵盖了一些重要的概念。例如:
!(a && b)
等同于 (!a || !b)
同样
!(a || b)
等同于(!a && !b)