Junior — Middle
Care este diferența dintre metodele First și FirstOrDefault în LINQ atunci când se obțin elemente dintr-o colecție?
sobes.tech AI
Răspuns de la 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, если хотите избежать исключений при отсутствии элементов.