简体   繁体   English

选择IEnumerable <object> 来自IEnumerable <IEnumerable<object> &gt; linq

[英]Select IEnumerable<object> from IEnumerable<IEnumerable<object>> linq

What I need to do is select list of nested elements, here is my query which returns IEnumerable<IEnumerable<object>> here is my linq expression: 我需要做的是选择嵌套元素列表,这里是我的查询returns IEnumerable<IEnumerable<object>>这里是我的linq表达式:

from a in (questions.Select(x => x.AnswerList).ToList())
                           select a.Select(x => x.AnswerBasicViewModel);

How should I do that to make it return only IEnumerable<object> instead of IEnumerable<IEnumerable<object>> ? 我该怎么做才能让它只return IEnumerable<object>而不是IEnumerable<IEnumerable<object>>

Just to be clear in my sample I would like to get IEnumerable<AnswerBasicViewModel> . 为了清楚我的样本,我想获得IEnumerable<AnswerBasicViewModel>

Use SelectMany operator: 使用SelectMany运算符:

from q in questions
from a in q.AnswerList
select a.AnswerBasicViewModel

Or simply 或者干脆

questions.SelectMany(q => q.AnswerList)
         .Select(a => a.AnswerBasicViewModel)

SelectMany是去这里的方式:

questions.SelectMany(x => x.AnswerList).Select(x => x.AnswerBasicViewModel);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM