[英]Want to find unique teams where individual is manager or member
我有一个看起来像这样的团队对象:
public class Team
{
public int Id { get; set; }
public string Name { get; set; }
public Guid ManagerId { get; set; }
public List<Guid> Members { get; set; }
}
一个人可以同时是经理和团队成员。 我想获取一个人是经理或成员的独特团队的列表。
说,我有John Doe的GUID。 我想找到他所关联的所有团队,我的所有数据都在List<Team> teams
。 我知道如何找到John担任经理的所有团队,但不确定如何也包括John担任成员的团队。
var johnsTeams = teams.Where(x => x.ManagerId == johnsId)...???
你快到了 您只需要检查Members
列表中是否包含John的Guid。 这可以通过使用x.Members.Contains(johnsId)
来完成。
var johnsTeams = teams.Where(x => x.ManagerId == johnsId || x.Members.Contains(johnsId)).ToList();
您可以使用||
包括john所属的团队,还包括.Distinct()
删除重复项( “ John既是经理又是团队成员” ):因此您的代码将如下所示:
var johnsTeams = teams.Where(x => x.ManagerId == johnsId || x.Members.Contains(johnsId)).Distinct().ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.