c# List去重

1 list若是数据是值类型,好比list<int> 这种,添加linq以后就可使用list = list.Distinct().ToList();ide

2 若是是数据是引用类型,好比中间是一个类List<Class>,由于他的比较是对哈希code进行比较,因此没有办法直接进行比较。可是能够定义一下这个类的比较this

public class C : IEquatable<C>
    {
       public int name;
       public C(int _name)
       {
           name = _name;
       }

       public bool Equals(C other)
       {
           return this.name == other.name;
       }
       public override int GetHashCode()
       {
           return name.GetHashCode();
       }  
    }

这样就将他的比较转换为内部关键数据name的比较了。spa

3 直接写循环进行去重,这种就不说了。比较简单code

相关文章
相关标签/搜索