Se tiene la clase item con atributos Name, Code y Price
Se debe de crear una nueva clase que permitirá el filtro de duplicados, por ejemplo
class DistinctItemComparer : IEqualityComparer<Item> {
public bool Equals(Item x, Item y) {
return x.Id == y.Id &&
x.Name == y.Name &&
x.Code == y.Code &&
x.Price == y.Price;
}
public int GetHashCode(Item obj) {
return obj.Id.GetHashCode() ^
obj.Name.GetHashCode() ^
obj.Code.GetHashCode() ^
obj.Price.GetHashCode();
}
}
La lista filtrada se invoca entonces de la siguiente manera
var distinctItems = items.Distinct(new DistinctItemComparer());