-1
我比較列出使用交叉如下: (使用POCO車爲例)與自定義比較收益相交名單空集
IEnumerable<Car> updatedCars = CarsList.Intersect(dbCarsList, carsComperator);
我定義carsComperator如下
public bool Equals(Car x, Car y)
{
if (object.ReferenceEquals(x, y)) return true;
if (x == null || y == null) return false;
return (x.Id == y.Id);
}
public int GetHashCode(Car car)
{
return car.Id.GetHashCode(); // Id is Guid
}
但當Intersect命令運行時它不會帶來什麼。
我認爲程序沒有通過比較器,因爲我的斷點沒有停止。
任何想法我做錯了什麼?
您所看到的代碼乍一看看起來不錯,所以問題必須在其他地方。你能添加一個簡短但完整的程序來證明問題嗎? – dtb
你的'GetHashCode'中有錯字嗎?應該是'car.Id.GetHashCode()'? –
你有沒有試過在你的'IEqualityComparer'中設置一個斷點? –