Первый ()
- Возвращает первый элемент последовательности.
- Выдает ошибку, когда в результате отсутствует элемент или источник равен нулю.
- Вы должны использовать его, если ожидается более одного элемента и вам нужен только первый элемент.
FirstOrDefault ()
- Возвращает первый элемент последовательности или значение по умолчанию, если элемент не найден.
- Выдает ошибку, только если источник нулевой.
- Вы должны использовать его, если ожидается более одного элемента, и вы хотите только первый элемент.
Также хорошо, если результат пуст.
У нас есть таблица UserInfos, в которой есть несколько записей, как показано ниже. На основе этой таблицы ниже я создал пример ...
Как использовать First ()
var result = dc.UserInfos.First(x => x.ID == 1);
Существует только одна запись, где ID == 1. Должен вернуть эту запись
ID: 1 Имя: Маниш Фамилия: Дубей Электронная почта: xyz@xyz.com
var result = dc.UserInfos.First(x => x.FName == "Rahul");
Есть несколько записей, где FName == "Rahul". Первая запись должна быть возвращена.
ID: 7 Имя: Рахул Фамилия: Шарма Электронная почта: xyz1@xyz.com
var result = dc.UserInfos.First(x => x.ID ==13);
Нет записи с идентификатором == 13. Должна возникнуть ошибка.
InvalidOperationException: последовательность не содержит элементов
Как использовать FirstOrDefault ()
var result = dc.UserInfos.FirstOrDefault(x => x.ID == 1);
Существует только одна запись, где ID == 1. Должен вернуть эту запись
ID: 1 Имя: Маниш Фамилия: Дубей Электронная почта: xyz@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.FName == "Rahul");
Есть несколько записей, где FName == "Rahul". Первая запись должна быть возвращена.
ID: 7 Имя: Рахул Фамилия: Шарма Электронная почта: xyz1@xyz.com
var result = dc.UserInfos.FirstOrDefault(x => x.ID ==13);
Нет записи с идентификатором == 13. Возвращаемое значение равно нулю
Надеюсь, это поможет вам понять, когда использовать First()
или FirstOrDefault()
.