有人可以解释为什么我会收到一个模糊的调用错误吗?

时间:2012-05-30 21:05:33

标签: c# linq lambda

我有一个简单的对象,我正在创建一个集合。从该集合中,我需要找到具有相同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);

1 个答案:

答案 0 :(得分:3)

如果您想根据TransitMapSegmentID找到所有重复的行,请使用Enumerable.GroupBy

var result = lineStrings
            .GroupBy(ls => ls.TransitMapSegmentID)
            .Where(grp => grp.Count() > 1)
            .SelectMany(grp => grp);