我有一个包含其他对象列表的对象列表。
List<Parent> Ps;
家长:
class Parent
{
List<Childs> Cs;
}
是否有可能使用Linq创建父母和孩子的元组列表?
Tuple<Parent, Child>
答案 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);