Mój problem jest taki:Jak kodować dynamiczne poziomy pętli for?
Mam kilka list musi być permutowane, ale numery list są niepoznawalne. I wszystkie numery elementów na każdej liście są również niepoznawalne. Sicne Chciałbym przemierzyć całą kombinację elementów listy, np. 1) wybierz A z listy 1, A z listy 2, A z listy 3; 2) ick A z listy 1, A z listy 2, B z listy 3 ... dla ALL permutacji.
użyć zagnieżdżonej pętli do przemieszczenia, jak jeśli dwa wykazy, a następnie:
for (int i = 0; i < list[0].EnergyParameters.ListEnergyLevelCandidates.Count; i++)
{
for (int j = 0; j < list[1].EnergyParameters.ListEnergyLevelCandidates.Count; j++)
{
// Do sth
}
}
Jeśli trzy listy, a następnie:
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
}
}
}
Ponieważ liczba liście są niepoznawalnym , więc numery gniazd są niepoznawalne, co oznacza, że nie wiem, ile poziomów pętli for musi być zapisanych.
W tej sytuacji, w jaki sposób mogę napisać kod dla dynamicznych poziomów pętli for? Nie chcę pisać 10 pętli na 10 list.
Czy to nadal exexute multi-pętlę? – Asker
@Asker To robi. Mimo że pętle nie są zagnieżdżone w źródle programu, są zagnieżdżane w czasie wykonywania. Zobacz, jak sam się nazywa "AllCombos"? To tutaj dzieje się "magia" (chociaż nie ma w niej nic magicznego). – dasblinkenlight
dlaczego i co jest 10? Czy założono maksymalną głębokość lub co? –