所以这是我的测试用例:
我有一个 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/