如何根据对象的属性从自定义对象列表中删除重复项



我想根据对象的属性删除重复项:

public class MyType
{
    public string _prop1;
    public string _prop2;
    public LocationsClass(string prop1, string prop2)
    {
        _prop1= prop1;
        _prop2= prop2;
    }
}
...
List<MyType> myList;

所以基本上我想从myList中删除所有MyType对象,在_prop1中具有相同的值。有没有一种方法可以做到这一点,可能是LINQ?

var distinctItems = myList.GroupBy(x => x.prop1).Select(y => y.First());

您也可以使用morelinq DistinctBy:

distinctItems = myList.DistinctBy(x => x.prop1).ToList();

或带有多个属性:

distinctItems = myList.DistinctBy(x=> new { x.prop1, x.prop2}).ToList();

相关内容

  • 没有找到相关文章

最新更新