Il mio problema è stato così:Come codificare per i livelli dinamici del ciclo?
Ho diverse liste che devono essere permutate, ma i numeri delle liste sono inconoscibili. E anche tutti i numeri di elementi in ogni elenco sono inconoscibili. Sicne Vorrei attraversare tutte le combinazioni di elementi della lista, come 1) selezionare A dalla lista 1, A dalla lista 2, A dalla lista 3; 2) A dalla lista 1, A dalla lista 2, dalla lista 3 ... per TUTTA la permutazione.
utilizzare nidificato ciclo for per attraversare, come se ho due liste, quindi:
for (int i = 0; i < list[0].EnergyParameters.ListEnergyLevelCandidates.Count; i++)
{
for (int j = 0; j < list[1].EnergyParameters.ListEnergyLevelCandidates.Count; j++)
{
// Do sth
}
}
Se ho tre liste, quindi:
for (int i = 0; i < list[0].EnergyParameters.ListEnergyLevelCandidates.Count; i++)
{
for (int j = 0; j < list[1].EnergyParameters.ListEnergyLevelCandidates.Count; j++)
{
for (int k = 0; k < list[2].EnergyParameters.ListEnergyLevelCandidates.Count; k++)
{
// Do sth
}
}
}
Poiché i numeri della lista sono inconoscibili , quindi i numeri del nido sono inconoscibili, il che significa che non so quanti livelli di ciclo deve essere scritto.
In questo tipo di circostanza, come posso scrivere il codice per i livelli dinamici del ciclo? Non voglio scrivere 10 loop per 10 liste.
Questo ancora exexute multi-ciclo? – Asker
@Asker Lo fa. Sebbene i loop non siano nidificati manualmente nell'origine del programma, sono nidificati al momento dell'esecuzione. Guarda come si chiama AllCombos? È qui che avviene la "magia" (anche se non c'è decisamente nulla di magico in proposito). – dasblinkenlight
why & what is 10? È la profondità massima assunta o cosa? –