Моя проблема такова:
У меня есть несколько списков, которые нужно переставить, но номера списков неизвестны. И номера всех элементов в каждом списке также непознаваемы. Sicne Я хотел бы пройти всю комбинацию элементов списка, например 1) выбрать A из списка 1, A из списка 2, A из списка 3; 2) ick A из списка 1, A из списка 2, B из списка 3... для ВСЕХ перестановок.
Я использую вложенный цикл for для обхода, например, если у меня есть два списка, тогда:
for (int i = 0; i < list[0].EnergyParameters.ListEnergyLevelCandidates.Count; i++)
{
for (int j = 0; j < list[1].EnergyParameters.ListEnergyLevelCandidates.Count; j++)
{
// Do sth
}
}
Если у меня есть три списка, то:
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
}
}
}
Поскольку номера списка неизвестны, поэтому номера вложений неизвестны, что значит, я не знаю, сколько уровней цикла for нужно написать.
Как в таких обстоятельствах написать код для динамических уровней цикла for? Я не хочу писать 10 циклов для 10 списков.