Junior — Middle
Was ist der Unterschied zwischen den Methoden First und FirstOrDefault in LINQ beim Abrufen von Elementen aus einer Sammlung?
sobes.tech KI
Antwort von 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, если хотите избежать исключений при отсутствии элементов.