繁体   English   中英

想要找到个人是经理或成员的独特团队

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM