我想根据对象的属性删除重复项:
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();