使用Linq的嵌套列表中的数据创建元组列表

时间:2016-03-04 08:17:44

标签: c# linq

我有一个包含其他对象列表的对象列表。

List<Parent> Ps;

家长:

class Parent 
{
   List<Childs> Cs;
}

是否有可能使用Linq创建父母和孩子的元组列表?

Tuple<Parent, Child>

2 个答案:

答案 0 :(得分:2)

您可以使用Enumerable.SelectMany

List<Tuple<Parent, Child>> parentChilds = Ps
    .SelectMany(p => p.Cs.Select(c => Tuple.Create(p, c)))
    .ToList();

这等于:

var pcQuery = from parent in Ps
              from child in parent.Cs
              select Tuple.Create(parent, child);
List<Tuple<Parent, Child>> parentChilds = pcQuery.ToList();

答案 1 :(得分:2)

var tuples = from p in Ps from c in p.Cs select Tuple.Create(p, c);