Junior — Middle
Quelle est la différence entre les méthodes First et FirstOrDefault en LINQ lors de la récupération d'éléments d'une collection?
sobes.tech IA
Réponse de l'IA
В 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, если хотите избежать исключений при отсутствии элементов.