LINQ:添加到每个项目的列表

时间:2017-04-24 21:52:02

标签: c# linq

我正在尝试将以下行转换为LINQ,建议的方法是什么?我有以下代码:

IEnumerable<person> result = Enumerable.Empty<person>();
var list1 = getlist1(..)
var repository = new Repository();
for(int i = 0; i < list1.Length; i++)
{
    result = result.Union(repository.GetList(list1[i].ID));
}

我想为list1中的每个项调用repository.GetList,并将结果添加到列表中。

1 个答案:

答案 0 :(得分:2)

IEnumerable<person> result = list1.SelectMany(i => repository.GetList(i.ID));

如果你想把它们作为一个清单:

 IList<person> result = list1.SelectMany(i => repository.GetList(i.ID)).ToList();