比较IEnumerable列表并从其中一个列表中删除重复项
本文关键字:列表 一个 删除 IEnumerable 比较 | 更新日期: 2023-09-27 18:16:49
我有以下模型类
public class AssignUserViewModel
{
public IEnumerable<User> Viewrlist { get; set; }
public IEnumerable<User> AssignedViewrlist { get; set; }
}
我像下面这样将值绑定到它。比较objassignuser.Viewrlisttry
和objassignuser.AssignedViewrlist
,然后从objassignuser.Viewrlisttry
中删除重复,如下所示。但是这个不能正常工作
AssignUserViewModel objassignuser = new AssignUserViewModel();
objassignuser.Viewrlist = ..
objassignuser.AssignedViewrlist = ..
IEnumerable<User> result = (objassignuser.Viewrlist).Except( objassignuser.AssignedViewrlist );
objassignuser.Viewrlist = null;
objassignuser.Viewrlist = result;
必须使User
类实现IEquatable<T>
接口。
一个简单的实现可以像这样:
class User: IEquatable<User>
{
public int Id{ get; set; }
public string UserName { get; set; }
public bool Equals(User other)
{
return Id == other.Id;
}
public override int GetHashCode()
{
return Id.GetHashCode();
}
}
>