【发布时间】:2020-06-16 17:52:33
【问题描述】:
如何在 C# 中从二维列表中删除重复条目。 这是我的代码。
HashSet<List<int>> set = new HashSet<List<int>>();
set.Add(new List<int>(){1,-2,-1,2});
set.Add(new List<int>(){3,-2,1,1});
set.Add(new List<int>() {1,-2,-1,2}); //duplicate entry
但我从中得到的结果有重复条目{{1,-2,-1,2},{3,-2,1,1},{1,-2,-1,2}} 我也尝试使用set.Distinct().ToList() 但我的结果中仍然有重复项。
请有人给我指出一个使用 HashSet 完成这项工作的巧妙方法。我不想比较列表中的每个序列,因为这会给我的代码增加一些时间复杂度。
感谢您的帮助。
【问题讨论】:
-
输入真的是一个二维(又名多维)列表(即声明为
int[,] a1 = new int[3,4];)还是一个锯齿数组(即声明为int[][] a2 = new int[3][];)?答案会因数组的类型而异。 -
它是一个二维列表,所以我猜你也可以称它为锯齿状数组
标签: c# .net list duplicates hashset