Наиболее эффективная итерация списка SharePoint C #

Я делаю собственный код для веб-части SharePoint на C #. В частности, я провожу викторину, и моя основная мысль здесь касается списка, содержащего вопрос, варианты ответа и правильный ответ.

На последнем этапе викторины мне нужно сравнить ответы, выбранные пользователем, с правильный ответ в списке. В настоящее время я делаю следующее, чтобы проверить правильность каждого из них, который, как я полагаю, не очень эффективен, потому что он повторяет каждый вопрос. Есть ли метод, специально для цикла foreach SPList, который был бы более эффективным?

                // 1. Store questions and answers in class
                    List<submittedAnswers> answeredQuestions = new List<submittedAnswers>();

                // 2. From POST pull answered question IDs and answer IDs (which correspond to the question primary key and answer choice number both stored in the list)
                    // INSERT BEAUTFIUL AND EFFICIENT WHILE LOOP HERE

                // 3. Loop through each question is list, if question was given, test if correct/incorrect
                using (SPWeb myWeb = mySite.OpenWeb())
                {
                    SPList answerList = myWeb.Lists[questionList];
                    foreach (SPListItem quizEntry in answerList.Items)
                    {
                        int pullAnswerId = int.Parse(quizEntry["Answer"].ToString()); // Pull answer number from list
                        int pullQuestionId = int.Parse(quizEntry["ID"].ToString()); // Pull primary key of question

                        submittedAnswers result = answeredQuestions.Find(delegate(submittedAnswers e) { return e.questionId == int.Parse(quizEntry["ID"].ToString()); });
                        if (result != null)
                        {
                            if (result.responseId != pullAnswerId) // If the response was different from the answer
                                incorrectAnswers++;
                            else
                                correctAnswers++;
                        }
                    }
                }
                // C# quiz grading magic here....
5
задан Eric Di Bari 8 March 2011 в 18:37
поделиться