列表列表中的所有组合

时间:2015-08-20 10:19:58

标签: c#

我有列表清单。例如:

  List<List<string>> bigList = new List<List<string>>();

        var l1 = new List<string>();
        l1.Add("a1");
        l1.Add("a2");
        l1.Add("a3");

        var l2 = new List<string>();
        l2.Add("b1");
        l2.Add("b2");

        var l3 = new List<string>();
        l3.Add("c1");
        l3.Add("c2");

        bigList.Add(l1);
        bigList.Add(l2);
        bigList.Add(l3);

我需要创建新的列表列表,在我的示例中将包含12个元素(3 * 2 * 2)。我需要所有组合。

结果应该是这样的:

            //a1,b1,c1
            //a1,b1,c2
            //a1,b2,c1
            //a1,b2,c2    
            //a2,b1,c1
            //a2,b1,c2
            //a2,b2,c1
            //a2,b2,c2
            //a3,b1,c1
            //a3,b1,c2
            //a3,b2,c1
            //a3,b2,c2

关闭课程应适用于任何列表清单。不只是这个例子。我真的有问题写这个算法。谢谢你的帮助。

0 个答案:

没有答案
相关问题