我有一些数组,在编程时不能确定其数量,可能是3、4或7个等等。每个数组都有一些元素,例如:
a={1 2 3 4}
b={6 7 5 2 1}
c={22 4 6 8 4 8 5 4}
d={....}
e, f, g, ...
我希望能够通过从每个数组中取一个数字来获取所有可能的组合,例如,我从a中选择“1”,从b中选择“7”,从c中选择第一个“8”,从d[3]和e[5]中选择...,以形成“1,7,8,d[3],e[5],...”这样的组合。由于在编译时我不知道数组的数量,所以无法使用嵌套循环。如果已知有4个数组(a、b、c、d),则可以使用4个循环:
for (int i = 0; i <= a.Length-1; i++)
{
for (int j = 0; i <= b.Length-1; j++)
{
for (int k = 0; i <= c.Length-1; k++)
{
for (int m = 0; i <= d.Length-1; m++)
{
Response[f++] = a[i].toString()+","+b[j].toString()+","+c[k].toString()+","+d[m].toString();
}
}
}
}
但是对于不同数量的数组,我没有任何想法。