根据整数包含的唯一数字集对列表进行分区

时间:2019-03-07 20:27:16

标签: c# linq merge duplicates set-theory

我有一个整数列表,例如-

List<List<int>> dataList = new List<List<int>> {
                new List<int>{ 0, 2, 4, 7 },
                new List<int>{ 1, 6, 3 },
                new List<int>{ 2, 0, 7, 9 },
                new List<int>{ 3, 1, 6 },
                new List<int>{ 4, 0, 2 },
                new List<int>{ 5, 2, 7 },
            };

我想合并所有具有重复项的列表,并生成一个整数列表的列表,该列表中的任何值在任何列表中都不应相同。

输出应为-

0、2、4、5、7、9

1、3、6

1 个答案:

答案 0 :(得分:0)

如果只需要一个列表,则可以执行以下操作:

// flatten your list:
var newList = new List<int>();
foreach (var list in output) {
  newList.AddRange(list);
}
// make sure every number is only once in that list:
newList.Distinct() // here is linq!
var output = new List<List<int>>();
output.Add(newList);