从二维列表中删除重复的行
本文关键字:删除 列表 二维 | 更新日期: 2023-09-27 18:25:56
我有一个二维字符串列表(List<List<string>>
)。
有没有一种简单的方法可以删除重复的行?这就是相等的CCD_ 2。
基于SequenceEqual:构建自定义IEqualityComparer
class ListComparer : IEqualityComparer<List<string>>
{
public bool Equals(List<string> x, List<string> y)
{
if (x == y)
return true ;
if (x == null || y == null)
return false ;
// Order if you need
return x.SequenceEqual(y) ;
}
public int GetHashCode(List<string> obj)
{
if (obj == null)
return 0;
unchecked
{
return obj.Select(e => e.GetHashCode()).Aggregate(17, (a, b) => 23 * a + b);
}
}
}
使用比较器应用Distinct():
List<List<string>> original = ...
var sortedListOfList = original.Distinct(new ListComparer()).ToList() ;
您没有指定是否应该对列表进行排序比较。
如果没有订购,它应该是:
List<List<string>> source = *yourLists*;
var sortedList = source.Distinct();