Если вам нужен доступ к каждому элементу в списке, тогда использование foreach
вполне нормально:
SPList answerList = myWeb.Lists[questionList];
foreach (SPListItem quizEntry in answerList.Items)
{
// todo...
}
Как правило, большинству людей необходимо работать с подмножеством элементов из списка.В этом случае вы, скорее всего, захотите извлечь подмножество элементов из списка, а затем выполнить обработку.Например, с помощью SPQuery и SPList.GetItems ( код из полного примера здесь ):
// Build a query.
SPQuery query = new SPQuery();
query.Query = string.Concat(
"<Where><Eq>",
"<FieldRef Name='Status'/>",
"<Value Type='CHOICE'>Not Started</Value>",
"</Eq></Where>",
"<OrderBy>",
"<FieldRef Name='DueDate' Ascending='TRUE' />",
"<FieldRef Name=’Priority’ Ascending='TRUE' />",
"</OrderBy>");
query.ViewFields = string.Concat(
"<FieldRef Name='AssignedTo' />",
"<FieldRef Name='LinkTitle' />",
"<FieldRef Name='DueDate' />",
"<FieldRef Name='Priority' />");
query.ViewFieldsOnly = true; // Fetch only the data that we need.
// Get data from a list.
string listUrl = web.ServerRelativeUrl + "/lists/tasks";
SPList list = web.GetList(listUrl);
SPListItemCollection items = list.GetItems(query);
FYI ... Вот хорошая ссылка, идущая по некоторым другим параметрам: https://www.nothingbutsharepoint.com/sites/devwiki/SP2007Dev/Pages/Accessing%20list%20items%20using%20the%20object%20model.aspx
В SharePoint много инструментов.Всегда стоит определить, какой инструмент подходит для работы под рукой.:)