2017-07-22 4 views
0

Wenn ich Code hatte, die wie folgt aussah:Was ist am effizientesten, um bestimmte Codezeilen nur dann auszuführen, wenn ein boolescher Wert wahr ist?

if (bool1) { 
    statement1 
    statement2 
} else if (bool2) { 
    statement3 
    statement4 
} 

und ich möchte nur Anweisung 2 und 4 gegeben andere boolean (sagen wir bool3) wahr laufen, was ist der beste Weg, das zu formatieren. Ich verstehe, dass ich eine verschachtelte if-Anweisung hinzufügen könnte, aber das scheint aus Sicht der Wartbarkeit schlecht, wenn ich 5 oder mehr ifs habe.

Irgendwelche Vorschläge?

+0

Sie können eine andere Bedingung if für bool3 haben. Das ist das effizienteste was ich denke, also total wirst du 3 wenn Bedingung haben. Mit 5 wenn Aussage ist nicht falsch, es sei denn, es ist klar zu verstehen und fallen in falsche Fallen. –

Antwort

0

Ein verschachtelt, wenn das für mich zumindest perfekt klingt. Wenn keine der Aussagen verwirren mit bool1, bool3 und bool4 obwohl und Sie wirklich nicht verschachtelte verwenden möchten ifs Sie sie nach einander mit Konjunktionen setzen könnte:

if (bool1) { 
    statement1 
} 
if (bool1 && bool3) { 
    statement2 
} 
if (bool2 && !bool1) { 
    statement3 
} 
if (bool2 && !bool1 && bool3) { 
    statement4 
} 

Diese schreckliche sieht aber so würde ich nur gehen mit einer einfachen und einfachen verschachtelten wenn.

Verwandte Themen