从 IEnumerable 从 IEnumerable> lin

本文关键字:IEnumerable object lin | 更新日期: 2023-09-27 18:31:07

我需要做的是选择嵌套元素的列表,这是我的查询,returns IEnumerable<IEnumerable<object>>这是我的linq表达式:

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

我应该怎么做才能让它只return IEnumerable<object>而不是IEnumerable<IEnumerable<object>>

只是为了在我的样本中清楚,我想得到IEnumerable<AnswerBasicViewModel>.

从 IEnumerable<object> 从 IEnumerable<IEnumerable<object>> lin

使用SelectMany运算符:

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

或者干脆

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

SelectMany 是这里要走的路:

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