removing duplicates in a list with linq

后端 未结 3 2083
日久生厌
日久生厌 2020-12-15 05:22

Suppose you have a list of MyObject like this:

public class MyObject
{
  public int ObjectID {get;set;}
  public string Prop1 {get;set;}
}

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-15 05:27

    You could create a custom object comparer by implementing the IEqualityComparer interface:

    public class MyObject
    {
        public int Number { get; set; }
    }
    
    public class MyObjectComparer : IEqualityComparer
    {
        public bool Equals(MyObject x, MyObject y)
        {
            return x.Id == y.Id;
        }
    
        public int GetHashCode(MyObject obj)
        {
            return obj.Id.GetHashCode();
        }
    }
    

    Then simply:

    myList.Distinct(new MyObjectComparer()) 
    

提交回复
热议问题