我想根据对象的属性删除重复项:
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?
答案 0 :(得分:6)
var distinctItems = myList.GroupBy(x => x.prop1).Select(y => y.First());
答案 1 :(得分:1)
您还可以使用morelinq DistinctBy:
distinctItems = myList.DistinctBy(x => x.prop1).ToList();
或具有多个属性:
distinctItems = myList.DistinctBy(x=> new { x.prop1, x.prop2}).ToList();