Back to questions
Junior — Middle
78
Какая разница между методами First и FirstOrDefault в LINQ при получении элементов коллекции?
Answer from AI
sobes.tech AI
В LINQ методы First и FirstOrDefault используются для получения первого элемента из коллекции, но отличаются поведением при отсутствии подходящих элементов:
-
First()возвращает первый элемент коллекции, удовлетворяющий условию. Если таких элементов нет, выбрасывает исключениеInvalidOperationException. -
FirstOrDefault()также возвращает первый подходящий элемент, но если элементов нет, возвращает значение по умолчанию для типа (например,nullдля ссылочных типов,0для числовых).
Пример:
var numbers = new List<int> { 1, 2, 3 };
int first = numbers.First(n => n > 3); // выбросит исключение
int firstOrDefault = numbers.FirstOrDefault(n => n > 3); // вернет 0
Используйте FirstOrDefault, если хотите избежать исключений при отсутствии элементов.