我有一个ArrayList [] myList,我试图创建一个数组中所有值排列的列表。

示例:(所有值都是字符串)

myList[0] = { "1", "5", "3", "9" };
myList[1] = { "2", "3" };
myList[2] = { "93" };

myList的计数可以变化,因此其长度事先未知。

我希望能够生成与以下类似的所有排列的列表(但具有一些其他格式)。
1 2 93
1 3 93
5 2 93
5 3 93
3 2 93
3 3 93
9 2 93
9 3 93

这是否使我想完成的事情有意义?我似乎无法想出一个好的方法(如果有的话)。

编辑:
我不确定递归是否会干扰我以自己的方式格式化输出的愿望。抱歉,在格式化之前我没有提到。

我想结束构建遵循以下格式的所有组合的string []数组:

用于“1 2 93”排列

我希望输出为“val0 = 1; val1 = 2; val2 = 93;”

我现在将尝试递归。谢谢DrJokepu

最佳答案

我很惊讶没有人发布LINQ解决方案。

from val0 in new []{ "1", "5", "3", "9" }
from val1 in new []{ "2", "3" }
from val2 in new []{ "93" }
select String.Format("val0={0};val1={1};val2={2}", val0, val1, val2)

10-07 18:48