我有一个简单的对象,我正在创建一个集合。从该集合中,我需要找到具有相同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);
答案 0 :(得分:3)
如果您想根据TransitMapSegmentID
找到所有重复的行,请使用Enumerable.GroupBy
:
var result = lineStrings
.GroupBy(ls => ls.TransitMapSegmentID)
.Where(grp => grp.Count() > 1)
.SelectMany(grp => grp);