using System.Collections.Generic;
public static void Main()
List<Carros> list = new List<Carros>{new Carros{UniqueId = 1},new Carros{UniqueId = 2},new Carros{UniqueId = 3},new Carros{UniqueId = 4}};
List<Carros> retornaCarros = new List<Carros>{new Carros{UniqueId = 2},new Carros{UniqueId = 4}};
Console.WriteLine("Except sem EqualityComparer");
foreach(var carro in list.Except(retornaCarros))
Console.WriteLine(carro.UniqueId);
Console.WriteLine("Except com EqualityComparer");
foreach(var carro in (list.Except(retornaCarros, new CarrosComparer())))
Console.WriteLine(carro.UniqueId);
public int UniqueId {get; set;}
public class CarrosComparer: IEqualityComparer<Carros>
public int GetHashCode(Carros carro)
public bool Equals(Carros carro1, Carros carro2)
return carro1.UniqueId == carro2.UniqueId;