public class LineEdgeCompare:IEqualityComparer<EdgeInfo>
{
public bool Equals(EdgeInfo x, EdgeInfo y)
{
return (x.myEdgeStartPt.Distance(y.myEdgeStartPt)<0.001&& x.myEdgeEndPt.Distance(y.myEdgeEndPt)<0.001) ; //去重
}
public int GetHashCode(EdgeInfo obj)
{
return obj.ToString().ToLower().GetHashCode();
}
}
//去除该组中相同的边
var lineEdgeCompare = new LineEdgeCompare();
var res = groupLines[groupIndex].Distinct(lineEdgeCompare);
groupLines[groupIndex] = res.ToList();