Условия "первый элемент" и "последний элемент" не очень понятны. Предполагая, что вы хотите получить первый и последний созданный элемент. Важно отметить, что получение элементов по индексу SPListItemCollection
может быть медленным для больших списков, так как доступ к SPList.Items
возвращает все элементы списка. Вот почему я предлагаю использовать CAML-запрос:
SPList list = // some list;
SPQuery query = new SPQuery();
query.RowLimit = 1;
query.Query = "<OrderBy><FieldRef Name='ID' /></OrderBy>";
return list.GetItems(query).Cast<SPListItem>().FirstOrDefault();
Для «последнего элемента» необходимо изменить порядок:
<OrderBy><FieldRef Name='ID' Ascending='FALSE' /></OrderBy>
Если вы хотите получить последний и первый элемент на основе другого условия, вам просто нужно изменить порядок по полю.
Обновление:
Еще лучше было бы заказать по полю ID
. С этим вы можете достичь того же результата.
Не только лучше, созданное поле можно было изменить с помощью кода, на что указывает @ Kobi.