如何构建几个列表或数组的所有组合



我还没有写任何代码,因为我甚至不知道如何启动它,

我有几个列表:

List<string> list1 = { A1, B1, C1 }
List<string> list2 = { A2, B2 }
List<string> list3 = { A3, B3, C3 }

,我想通过从每个列表中取一个元素来构建每个可能的变化,并构建唯一的列表。寻找找到所有变化的方法。

假设对list1中的每个元素进行遍历,从list2中取出一个元素,从list中取出一个元素。

所以list1[0]的第一个变量:

A1, A2, A3
A1, A2, B3
A1, A2, C3
A1, B2, A3
A1, B2, B3
A1, B2, C3

我想建立字符串的所有变化,并保存为分隔行在列表文件。我的脑子都不知道怎么写逻辑代码。

您可以使用LINQ的SelectMany来获得所需的输出。

List<string> list1 = new List<string>{ "text1", "text2", "text3" };
List<string> list2 = new List<string> { "text4", "text5", "text6" };
List<string> list3 = new List<string> { "text7", "text8", "text9" };
var allCombinations = list1.SelectMany(x => list2, (x, y) => x + " " + y)
.SelectMany(x => list3, (x, z) => x + " " + z)
.ToList();

我的代码是基于你之前提供的数据。

我建议你读一下SelectMany

最新更新