我正在使用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個問題 –