在匹配条件下在父列表中添加子列表

时间:2018-01-08 08:43:44

标签: c# .net linq lambda

我有两个清单

class A{ int id; string name; string type; List<B> listB;}
class B{int id; int refid; string value;}    

ListofA[{id=1,name="ABC",type="A",listB=null},id=1,name="ABC",type="A",listB=null}]
ListofB[{id=4,refid=1,value="ABC"},{id=5,refid=1,value="DEF"},{id=6,refid=2,value="XYZ"},]

我想将B的匹配对象添加到A类的listB中。条件应该是A.id == B.id.我尝试了下面的方法,但我得到了空白列表。

ListofA = ListofA.Select(a => new A { id = a.id, name =a.name,type = a.type,
                                      listB = listOfB.Where(b => b.refid == a.id).ToList()}).ToList();

我有什么遗漏的。 任何人都可以帮助我吗? 提前致谢

2 个答案:

答案 0 :(得分:1)

我已经重写了你的代码,删除了那里的整个语法错误。因此,您将获得所需的输出(无空白列表):

to enable this do this

答案 1 :(得分:-1)

我犯了一个愚蠢的错误,因为我得到了空白名单。我现在改变了它的工作。谢谢你的帮助