我試圖從包含泛型類的列表中刪除重複項。通用類看起來像這樣(剝去爲例):刪除包含泛型類的列表中的重複項
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
中使用我自己的等號或比較器方法,但我不知道是這種情況,還是應該如何編寫它們(除非我只是錯過了一些簡單的東西)。
好醇'resharper,呃? – Blorgbeard
@Blorgbeard是的,它使這樣的thigs快速和容易 – Backs
@Backs我不確定在GetHashCode方法,所以將不得不閱讀它,但這是讓我的單元測試通過。謝謝。 – Ayb4btu