猿问

C# 怎么将两个List 拼成一个list的方法

有如下peoplepets两个List
Personmagnus=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#的帮解一下问题追加:我已经创建了一个class
publicclassfamily{
[DataMember]
publicstringname;
[DataMember]
publicintid;
[DataMember]
publicListpets;
用foreach去分别遍历pets和people这个方法也可以实现。我感觉可能不是那么优。所以我想了解Enumerable有没有哪个方法或是几个方法组合可以做到如此。
实际情况是我从sqlserver中的存储过程返回了类似于people和pets的两个表。我现在需要拼成上文的family的list结果作为webservice的jsonp数组返回(上面的结果是我前端页面接收的json数据)。
烙印99
浏览 3021回答 2
2回答

长风秋雁

varlist1=newList();varlist2=newList();varlist=newSystem.Collections.ArrayList(list1);list.AddRange(list2);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答