2013-04-23 52 views
13

我有一个部分的集合,每个部分都有一个问题的集合。如果我想选择所有部分下的所有问题,此作品选择一个父母的财产和所有使用LINQ的儿童

Sections.SelectMany(s=>s.Questions) 

但现在我也想要节号。所以,如果我尝试这样的事情

Sections.SelectMany(s=>s.Questions,s.SectionNumber) 

它会引发编译错误。

我该如何做这项工作?

回答

15

你应该在这里使用匿名类型:

Sections.SelectMany(s => s.Questions, (s, q) => new { Question = q, s.SectionNumber }) 
+3

这并不重要,如果它是匿名的,或者命名类型,或者什么。将两个对象封装到一个对象中的任何方法都很好。 – Servy 2013-04-23 18:20:41