我有一個IEnumerable(IEnumerable [])的數組,並且想要生成這些IEnumerables中元素的所有可能組合。 它類似於這個問題:Generating Permutations using LINQ 但我不知道預先有多少IEnumerables,因此不能使用描述的LINQ語句。在LINQ中爲n組生成排列
舉個例子: 我的陣列
IEnumerable[] array;
例如具有這些元素
array[0]={0,1,2};
array[1]={a,b};
然後我想這些退貨:
{{0,a},{0,b},{1,a},{1,b},{2,a},{2,b}}
但它可能也可容納:
array[0]={0,1,2};
array[1]={a,b};
array[2]={w,x,y,z};
然後,我會需要適當的排列。我沒有關於多少個IEnumerables的信息,也沒有關於每個IEnumerable擁有多少元素的信息。
在此先感謝您的幫助,
拉爾斯
當你的輸入是數組[0] = {0,1,2}時,你會期望輸出是什麼?陣列[1] = {A,B};陣列[2] = {W,X,Y,Z}? – 2011-05-20 15:40:31
如上所述,我不知道預期的輸出是否真的被視爲所有排列。你有一個假設的約束,每個結果項只有兩個元素? – Yuck 2011-05-20 15:45:54
[生成所有可能的組合]的可能副本(http://stackoverflow.com/questions/3093622/generating-all-possible-combinations) – 2011-05-21 04:10:46