有如下peoplepets两个ListPersonmagnus=newPerson{Name="Hedlund,Magnus"id=1};Personterry=newPerson{Name="Adams,Terry",id=2};Personcharlotte=newPerson{Name="Weiss,Charlotte",id=3};Petbarley=newPet{Name="Barley",ownerid=1};Petboots=newPet{Name="Boots",ownerid=1};Petwhiskers=newPet{Name="Whiskers",ownerid=3};Petdaisy=newPet{Name="Daisy",ownerid=3};Listpeople=newList{magnus,terry,charlotte};Listpets=newList{barley,boots,whiskers,daisy};怎么获得如下结果[{Name:"Hedlund,Magnus"id:1,Pets:[{Name:"Barley"},{Name:"Boots"}]},{Name:"Adams,Terry",id:2,Pets:[]},{Name:"Weiss,Charlotte",id:"3",Pets:[{Name:"Whiskers"},{Name:"Daisy"}]}]我想利用Enumerable的join或是groupby的都不大熟悉。写了半天也没的出来,求一个了解c#的帮解一下问题追加:我已经创建了一个classpublicclassfamily{[DataMember]publicstringname;[DataMember]publicintid;[DataMember]publicListpets;}用foreach去分别遍历pets和people这个方法也可以实现。我感觉可能不是那么优。所以我想了解Enumerable有没有哪个方法或是几个方法组合可以做到如此。实际情况是我从sqlserver中的存储过程返回了类似于people和pets的两个表。我现在需要拼成上文的family的list结果作为webservice的jsonp数组返回(上面的结果是我前端页面接收的json数据)。
2 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
varlist1=newList(); varlist2=newList(); varlist=newSystem.Collections.ArrayList(list1);list.AddRange(list2);
添加回答
举报
0/150
提交
取消