public class User
{
public int Id {get; set;}
public string Name {get; set;}
}
public class Usercomparer:iequalitycomparer<user>
{
#region Iequalitycomparer<user> Members
public bool Equals (user x, user y)
{
if (x = = null && y = = null)
{
return false;
}
return x.id = = y.id;//According to the Id to go heavy
}
public int GetHashCode (User obj)
{
return obj. ToString (). GetHashCode ();
}
#endregion
}
Using the example
protected void Page_Load (object sender, EventArgs e)
{
list<user> list = new list<user> (); Add some measured data
List. ADD (new User {Id = 1, Name = "Zhang San"});
List. ADD (new User {Id = 2, Name = "Little Wei"});
List. ADD (new User {Id = 1, Name = "Zhang San"});
List. ADD (new User {Id = 3, Name = "Lie Triple"});
List. ADD (new User {Id = 2, Name = "John Doe"});
List. ADD (new User {Id = 1, Name = "Li Wu"});
var query = list. Distinct (New Usercomparer ()); To repeat
}
List object Go heavy