从IEnumerable <IEnumerable > linq中选择IEnumerable
我需要做的是选择嵌套元素列表,这里是我的查询returns
IEnumerable<IEnumerable>
这里是我的linq表达式:
from a in (questions.Select(x => x.AnswerList).ToList()) select a.Select(x => x.AnswerBasicViewModel);
我该怎么做才能让它只return
IEnumerable
而不是IEnumerable<IEnumerable>
?
为了清楚我的样本,我想获得IEnumerable
。
使用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);