【发布时间】:2015-10-08 13:14:33
【问题描述】:
我正在尝试从包含泛型类的列表中删除重复项。泛型类看起来像这样(剥离示例):
public class Point2D<T>
{
public T x;
public T y;
public Point2D(T x, T y)
{
this.x = x;
this.y = y;
}
}
我已经创建了这样的列表:
List<Point2D<int>> pointList = new List<Point2D<int>>();
pointList.Add(new Point2D<int>(1,1));
pointList.Add(new Point2D<int>(1,2));
pointList.Add(new Point2D<int>(1,1));
pointList.Add(new Point2D<int>(1,3));
我尝试通过以下方式删除重复项:
pointList = pointList.Distinct().ToList();
预计pointList 将只包含:(1,1)、(1,2)、(1,3),但它仍然包含输入的所有四个点。我怀疑在Point2D 中我需要自己的equals 或comparator 方法,但我不知道是否是这种情况,或者它们应该如何编写(当然,除非我只是遗漏了一些简单的东西)。
【问题讨论】: