我正在使用foreach循环来计算问题的答案。如何提高foreach循环的性能
它会针对一个问题计算所有答案,但是当它加载下一个问题时,每次只需要一分钟。我该如何缩短这个时间?
List<Questionnaire> myQuestionnaires = report.Project
.Questionnaires
.Where(q => q.Active)
.ToList<Questionnaire>();
foreach (Questionnaire q in myQuestionnaires)
{
foreach (ItemAnswer a in q.Answers)
{
//possible answers
}
}
这里的for-each循环正在处理内存中的集合,所以它应该很快!当你调用.ToList()方法时,你确定延迟不在提取问题吗?你的数据存储是什么?你有多少结果回来? – olitee
这里根本没有必要使用'.ToList',它使你迭代集合两次。只需用'var'替换顶部的'List'并在末尾删除'ToList'。 –
数据存储在MySQL上,结果超过200个问题 –