在另一个列表中添加对象和对象列表c#

时间:2015-09-22 01:02:11

标签: c#

我试图在另一个列表中添加一个List of Object和一个对象的列表,例如;

public Class TeamRoles
{
    public Team Team{get;set;}
    public IEnumerable<Role> Roles{get;set;}
}

我正在循环浏览TeamRoles类型的另一个列表,并希望在TeamRoles列表中进行一些修改之后添加每个对象,如下所示;

public void SomeMethod()
{
    var teamsRoles = _client.GetAllTeamEmployeeRoles();
    var distinctTeams = teamsRoles.Select(x => x.Team).Distinct();
    var tRoles = new List<TeamRoles>();
    foreach (var team in distinctTeams)
    {
        var t = team;
        var roles = teamsRoles.Where(x => x.TeamId ==team.Id).Select(y => y.Role);
        tRoles.Add(new { t, roles}); //need this
    }
}

如果您理解我的问题,请帮助我,如果您不理解,请询问更多信息。提前谢谢。

2 个答案:

答案 0 :(得分:3)

你需要实例化TeamRoles并为其赋值,如下所示:

var teamRoles = new TeamRoles
 {
   Roles = roles,
   Team = t
 };

tRoles.Add(teamRoles); //need this

答案 1 :(得分:1)

不太确定你的问题是什么(是不是你的程序没有编译?)

您需要像

那样实例化TeamRoles
    foreach (var team in distinctTeams)
    {

        var t = team;
        var roles = teamsRoles.Where(x => x.TeamId ==team.Id).Select(y => y.Role);
        tRoles.Add(new TeamRoles { Team=t, Roles=roles }); //need this  <====
     }