我在代码中定义了一个MyUser对象,它具有多个属性...
public class MyUser
{
public Guid UserId;
public string EmailAddress;
public string UserName;
}
然后我有这些MyUser对象的列表。...
List<MyUser> userList
如何仅基于每个myObject的一个属性(例如UserName)来消除所有重复项?
因此,基本上,如果我有100个这些MyUser对象的列表,我只希望每个UserName出现一次。因此,如果UserName出现多次,请删除重复项,并且每个UserName仅保留一个对象。最后,我将得到一个仅包含唯一用户名的列表(以及其他属性)。
我以为我可以使用LINQ Distinct 来做到这一点,但是Distinct不允许我告诉它仅考虑一个属性。
答案 0 :(得分:0)
GroupBy
和UserId
,然后参加每个小组的第一个会议:
List<MyUser> result = userList.GroupBy(x => x.UserId)
.Select(x => x.First())
.ToList();