Sobes.tech
Back to questions
Junior — Middle
64

Можете объяснить, что означает метод LastOrDefault в LINQ?

Answer from AI

sobes.tech AI

Метод LastOrDefault в LINQ возвращает последний элемент последовательности, удовлетворяющий заданному условию, или значение по умолчанию для типа, если таких элементов нет.

Если условие не задано, возвращается последний элемент всей последовательности или значение по умолчанию, если последовательность пуста.

Пример:

int[] numbers = {1, 2, 3, 4, 5};

int lastEven = numbers.LastOrDefault(n => n % 2 == 0); // вернёт 4
int lastGreaterThanTen = numbers.LastOrDefault(n => n > 10); // вернёт 0 (default для int)

string[] words = {};
string lastWord = words.LastOrDefault(); // вернёт null (default для string)

Таким образом, LastOrDefault безопасен для использования, когда нет гарантии, что в последовательности есть подходящие элементы, и позволяет избежать исключения InvalidOperationException, которое возникает при использовании Last на пустой последовательности.