4

私は変数を持っていて、 のwith distinctsList<List<string>>を削除したいと考えています。どうやってやるの?ここで、私が達成しようとしていることを示します。List<string>string[0]

    0, 1, 2,
   +--+--+--+
0, |a |34|st|
   +--+--+--+
1, |a |67|it| Delete this row because a is an duplicate.
   +--+--+--+
2, |b |89|st|
   +--+--+--+

ありがとう、

4

2 に答える 2

4

LINQ を使用して、最初の項目で区別されるサブリストのリストを選択できます。

var result = listOflists.GroupBy(l => l[0])
                        .Select(g => g.First())
                        .ToList();
于 2012-12-25T20:59:24.343 に答える
0

を渡すことができるのでDistinctIEqualityComparer<T>次のようになります。

class FirstItemComparer : IEqualityComparer<List<string>> {
    public bool Equals(List<string> a, List<string> b) {
        return a[0] == b[0];
    }

    public int GetHashCode(List<string> l) {
        return l[0].GetHashCode();
    }
}
...
items.Distinct(new FirstItemComparer())
于 2012-12-25T20:58:12.250 に答える