使用linq选择一个父属性和所有子项

dev*_*747 14 c# linq

我有一系列的部分,每个部分都有一系列问题.如果我想选择所有部分下的所有问题,这是有效的

Sections.SelectMany(s=>s.Questions)
Run Code Online (Sandbox Code Playgroud)

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

 Sections.SelectMany(s=>s.Questions,s.SectionNumber)
Run Code Online (Sandbox Code Playgroud)

它会抛出编译错误.

我该如何工作?

Mar*_*zek 17

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

Sections.SelectMany(s => s.Questions, (s, q) => new { Question = q, s.SectionNumber })
Run Code Online (Sandbox Code Playgroud)

  • 如果它是匿名的,或者是命名类型,或者是什么,这并不重要.将两个对象封装到单个对象中的任何方法都可以. (3认同)