8,497
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
List<User> u1 = new List<User>() {
new User() { ID = 1, Name = "1" } ,
new User() { ID = 2, Name = "2" },
new User() { ID = 3, Name = "3" },
};
List<User> u2 = new List<User>() {
new User() { ID = 1, Name = "1" } , //相同记录
new User() { ID = 2, Name = "2.1" }, //版本不同
new User() { ID = 3, Name = "3" }, //相同记录
new User() { ID = 4, Name = "4" }, //新纪录
};
var q = u2.Except(u1,new MyCompare()).ToList();
Console.ReadLine();
}
public class MyCompare : IEqualityComparer<User>
{
public bool Equals(User x, User y)
{
if (x.ID == y.ID && x.Name == y.Name)
return true;
return false;
}
public int GetHashCode(User obj)
{
return (obj.ID+obj.Name).GetHashCode();
}
}
public class User
{
public int ID { get; set; }
public string Name { get; set; }
}