无法将SubjectAreaGroup列表转换为SubjectAreaGroup列表???

时间:2012-01-22 14:25:15

标签: c#

从数据库中检索项目列表时出现问题。这就是我的尝试。

List<SubjectAreaGroup> subjectAreas = examInstance.CurrentQuestionGroup.QuestionTypeGroups.Select(q => q.SubjectAreaGroups).toList();

但是当我这样做时,它给了我一个错误,我无法将SubjectAreaGroup List转换为... SubjectAreaGroup List。如果它们是同一个东西那么为什么我不能转换它们呢?

1 个答案:

答案 0 :(得分:0)

我认为问题是由于q.SubjectAreaGroups属性为每个 QuestionTypeGroup提供了List<SubjectAreaGroup>。因此,您的Select语句为您提供了两个级别的序列:IEnumerable<List<SubjectAreaGroup>>

要解决此问题,您只需使用SelectMany运算符将生成的序列展平为一个序列:

List<SubjectAreaGroup> subjectAreas = 
    examInstance.CurrentQuestionGroup
                .QuestionTypeGroups
                .SelectMany(q => q.SubjectAreaGroups)
                .ToList();