LINQ
次のようなオブジェクト (車両) の 2 つのリストをマージするときに、重複を削除しようとしています。
var list = list1.Union(list2);
私はoverridden the Equal
s メソッドを持っていますが、コードはそれにステップインすることすらありません。ただし、次のコードはオーバーライドにステップ インします。
Vehicle v1 = new Vehicle();
Vehicle v2 = new Vehicle();
if (v1.Equals(v2)).......
編集
Vehicle オーバーライドのシグネチャは次のとおりです。
も実施していますIEquatable<Vehicle>
public bool Equals(Vehicle other)
{
}
public override int GetHashCode()
{
}
Vehicle クラスにロジックが必要なので、Union メソッドに比較子を渡したくありません。
ここで私は何を間違えましたか?