我有列表清单。例如:
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
关闭课程应适用于任何列表清单。不只是这个例子。我真的有问题写这个算法。谢谢你的帮助。