0

我有一个简单的对象,我正在创建一个集合。从该集合中,我需要找到具有相同 TransitMapSegmentID 的重复项。

public class LineString
{
    public int TransitLineID { get; set; }
    public string TransitLineName { get; set; }
    public int TransitMapSegmentID { get; set; }
    public string HexColor { get; set; }
    public double[][] Coordinates { get; set; }
}

var lineStrings = new List<LineString>();

使用下面的代码,我从下面的 lambda 表达式中得到一个“不明确的调用匹配”错误。谁能解释为什么?

var result = lineStrings
             .Where(a => lineStrings
             .Count(b => b.TransitMapSegmentID == a.TransitMapSegmentID) > 1);
4

1 回答 1

3

如果要根据它们查找所有重复行TransitMapSegmentID,请使用Enumerable.GroupBy

var result = lineStrings
            .GroupBy(ls => ls.TransitMapSegmentID)
            .Where(grp => grp.Count() > 1)
            .SelectMany(grp => grp);
于 2012-05-30T21:09:11.877 回答