Per favore perdonami se questa è una domanda doppia. Ho due loop nidificati che eseguiranno l'iterazione per circa mn volte (la complessità è di circa 3k).
All'interno di questi cicli for, ho 3 Se le condizioni si basano su ciò che faccio certe operazioni. Sto provando a vedere se ci sono dei modi per evitare queste condizioni se le condizioni all'interno del ciclo for saranno eseguite per mn volte.
Di seguito è riportato lo scheletro dell'attuazione esistente:
var conditionA = <set conditions for A>
var conditionB = <set conditions for B>
var conditionC = <set conditions for C>
foreach (var x in X)
{
foreach (var y in Y)
{
if (conditionA)
{
//computeA ..makes use of x and y
}
if (conditionB)
{
//computeB..makes use of x and y
}
if (conditionC)
{
//computeC..makes use of x and y
}
} //end of inner foreach
}
Come puoi vedere che tutte e 3 le condizioni sono determinate prima di foreach
, c'è un modo in cui posso eliminare le istruzioni IF ridondanti ad ogni iterazione?