c# - 使用Linq合并一个List中某个对象的方法返回的所有List

标签 c# linq

所以这是我的测试用例:

我有一个 QuizzResult 类,它包含用户选择的所有答案:

public class QuizzResult
{
    public List<int> Answers { get; set; }
}

测试完成后,我有一个结果列表:

List<QuizzResult> allResult

所以我只想拥有所有 QuizzResults 的所有合并答案的列表(包含重复项)。

我试图环顾 Select,但我有一个 IEnumerable>。我觉得我应该使用 ForEach,但我不知道如何...

有什么提示吗?

最佳答案

SelectMany会将您的列表列表扁平化为一个可枚举的答案:

IEnumerable<int> allAnswers = allResult.SelectMany(quizz => quizz.Answers);

获取List<int>使用 ToList扩展方法,它将急切地读取所有项目并创建一个 List

List<int> allAnswers = allResult.SelectMany(quizz => quizz.Answers)
                                .ToList();

关于c# - 使用Linq合并一个List中某个对象的方法返回的所有List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21428347/

相关文章:

c# - 排序 IList 时未调用比较器

c# - LINQ IEnumerable<T> 内存结构

c# - Linq 搜索不返回所有条目

c# - 运算符 '&&' 不能应用于 bool 和 bool 的操作数?

c# - LINQ;从文本文件中选择行组

c# - 无法找到该资源。 MVC4

c# - 是否可以限制父类传递给struct的Type?

c# - 从 32 位应用程序读取 64 位注册表

c# - Windows 控制台应用程序卡住(需要按键)

c# - 通过 linq 比较无值