【发布时间】:2017-01-25 00:58:35
【问题描述】:
我需要通过 ID 获取唯一的 PostViewModel。如何使用 lambda 表达式?
public IEnumerable<PostViewModel> DistinctPosts
{
get
{
return Employees
.SelectMany(e => e.PostList.Posts)
.Distinct(new PostViewModelComparer())
.ToList();
}
}
比较器:
class PostViewModelComparer : IEqualityComparer<PostViewModel>
{
#region IEqualityComparer<Contact> Members
public bool Equals(PostViewModel x, PostViewModel y)
{
return x.ID.Equals(y.ID);
}
public int GetHashCode(PostViewModel obj)
{
return obj.ID.GetHashCode();
}
#endregion
}
对不起,这是来自Use a delegate for the equality comparer for LINQ's Distinct()的重复内容
【问题讨论】:
-
如果您向我们展示您的课程是什么样子以及它们之间的关系,那就太好了。据我了解,一名员工包含一个包含个人 PostViewModel 的帖子列表?