我想更好地組織以下兩個if
聲明:如何組織更好的這兩個連續的IF語句?
if(A || B){
do stuff...
}
if(A && ! B){
do other stuff...
}
有沒有更好的辦法?
編輯:!
B
在第二份聲明之前,對不起......
我想更好地組織以下兩個if
聲明:如何組織更好的這兩個連續的IF語句?
if(A || B){
do stuff...
}
if(A && ! B){
do other stuff...
}
有沒有更好的辦法?
編輯:!
B
在第二份聲明之前,對不起......
if(A || B) {
do some stuff;
if(!B) {
do other stuff;
}
}
但是好處取決於使用情況,可能難以理解這個版本。
有人終於明白了,以爲我看不到優勢:) +1 –
@Ziyao,是的,我也是,只是回答了這個問題:D – unkulunkulu
那麼現在的好處是代碼的性能更好,現在我避免了A的評估。不僅如此,代碼被簡化了,避免了對任意複雜的A表達式的第二次打字。缺點是我獲得了額外的嵌套級別。 – fstab
對於原來的問題,其中第二個條件是一個& & B,我的回答是:
如果不出意外,您可以將第二個塊嵌套在第一個塊中,以防止在第一個條件失敗時進行不必要的評估。否則,我看不出有什麼好的方法來縮短這個...並且嵌套假定第一個塊中的代碼不會更新A和B,它可能會這樣。
對於新問題,我的答案是在第一個嵌入塊中檢查!B,並省略第二個塊。這相當於爲新問題提供的另一個答案。
由於OP改變了問題,我的回答不再相關。 – Patrick87
然後最好編輯或刪除它,而不是添加評論。 –
當A && B爲真時,|| ||將評估爲真。這是你想要的行爲嗎? –
不幸的是我忘了!在第二個IF語句的B之前的運算符。我現在編輯了這個問題。 – fstab