可以';t将SubjectAreaGroup List转换为SubjectArea Group List??

本文关键字:List 转换 Group SubjectArea SubjectAreaGroup 可以 | 更新日期: 2023-09-27 18:21:08

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

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

但当我这样做的时候,它给了我一个错误,我不能将SubjectAreaGroup列表转换为…SubjectArea Group列表。如果它们是一样的,为什么我不能转换它们?

可以';t将SubjectAreaGroup List转换为SubjectArea Group List??

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

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

List<SubjectAreaGroup> subjectAreas = 
    examInstance.CurrentQuestionGroup
                .QuestionTypeGroups
                .SelectMany(q => q.SubjectAreaGroups)
                .ToList();
相关文章: