从二维列表中删除重复的行

时间:2015-12-07 15:44:18

标签: c#

我有一个二维的字符串列表(List<List<string>>)。

有没有简单的方法来删除重复的行?那是相等的List<string>

2 个答案:

答案 0 :(得分:0)

根据IEqualityComparer

构建自定义SequenceEqual
$_GET

Distinct()应用于比较器:

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);
        }
    }
}

答案 1 :(得分:0)

您未指定列表是否应与订购进行比较。

如果没有订购,应该是:

List<List<string>> source = *yourLists*;
var sortedList = source.Distinct();