List无法去重解决方案
-
使用循环,判断每个元素是否重复
-
使用表达式
list<user> users=new users.Where((x,i)=>users.FindIndex(z=>z.name == x.name) == i)
-
List中的元素实现IEquatabe接口,并提供Equals方法和GetHashCode方法
//定义MasterGroupLink类 public class MasterGroupLink { public Guid? MasterGroupId { get; set; } public int? LinkType { get; set; } public List<MasterConditons> Detaillinks { get; set; } } //定义MasterGroupLinkCompare类 继承 IEqualityComparer public class MasterGroupLinkCompare : IEqualityComparer<MasterGroupLink> { public bool Equals(MasterGroupLink x, MasterGroupLink y) { return x.MasterGroupId.Equals(y.MasterGroupId) && x.LinkType.Equals(y.LinkType); } public int GetHashCode(MasterGroupLink obj) { return 0; } }
现在存在一个MasterGroupLink的list :MasterGroup 可以直接调用方法去重
MasterGroup = MasterGroup.Distinct(new MasterGroupLinkCompare ()).ToList();