我的问题是这样的:
我有几个列表需要排列,但列表编号是不可知的。并且每个列表中的每个元素编号也是不可知的。Sicne我想遍历所有列表元素组合,例如1)从列表1中选择A,从列表2中选择A,从列表3中选择A;2) ick A 来自列表 1,A 来自列表 2,B 来自列表 3 ...对于 ALL 排列。
我使用嵌套的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 个循环。