Прочитать на английском

Поделиться через


Queryable.Last Метод

Определение

Возвращает последний элемент последовательности.

Перегрузки

Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

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

Last<TSource>(IQueryable<TSource>)

Возвращает последний элемент последовательности.

Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

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

C#
public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Объект IQueryable<T>, из которого требуется возвратить элемент.

predicate
Expression<Func<TSource,Boolean>>

Функция для проверки каждого элемента на соответствие условию.

Возвращаемое значение

TSource

Последний элемент последовательности source, прошедший проверку, заданную предикатом predicate.

Исключения

Параметр source или predicate имеет значение null.

Ни один элемент не удовлетворяет условию предиката predicate.

-или-

Исходная последовательность пуста.

Примеры

В следующем примере кода показано, как использовать Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) для возврата последнего элемента массива, удовлетворяющего условию.

C#
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54,
                    83, 23, 87, 67, 12, 19 };

// Get the last number in the array that is greater than 80.
int last = numbers.AsQueryable().Last(num => num > 80);

Console.WriteLine(last);

/*
    This code produces the following output:

    87
*/

Комментарии

Этот метод имеет по крайней мере один параметр типа Expression<TDelegate> , аргумент типа которого является одним из Func<T,TResult> типов. Для этих параметров можно передать лямбда-выражение, и оно будет скомпилировано Expression<TDelegate>в .

Метод Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) создает объект , MethodCallExpression представляющий вызов Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) как сконструированный универсальный метод. Затем он передает MethodCallExpressionExecute<TResult>(Expression) в метод объекта , представленный IQueryProvider свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он возвращает последний элемент в source , удовлетворяющий условию, заданному параметром predicate.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Last<TSource>(IQueryable<TSource>)

Исходный код:
Queryable.cs
Исходный код:
Queryable.cs
Исходный код:
Queryable.cs

Возвращает последний элемент последовательности.

C#
public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source);

Параметры типа

TSource

Тип элементов source.

Параметры

source
IQueryable<TSource>

Объект IQueryable<T>, последний элемент которого требуется возвратить.

Возвращаемое значение

TSource

Значение, находящееся в последней позиции последовательности source.

Исключения

source имеет значение null.

Исходная последовательность пуста.

Примеры

В следующем примере кода показано, как использовать Last<TSource>(IQueryable<TSource>) для возврата последнего элемента массива.

C#
int[] numbers = { 9, 34, 65, 92, 87, 435, 3, 54,
                    83, 23, 87, 67, 12, 19 };

int last = numbers.AsQueryable().Last();

Console.WriteLine(last);

/*
    This code produces the following output:

    19
*/

Комментарии

Метод Last<TSource>(IQueryable<TSource>) создает объект , MethodCallExpression представляющий вызов Last<TSource>(IQueryable<TSource>) как сконструированный универсальный метод. Затем он передает MethodCallExpressionExecute<TResult>(Expression) в метод объекта , представленный IQueryProvider свойством Providersource параметра .

Поведение запроса, возникающее в результате выполнения дерева выражений, представляющего вызов Last<TSource>(IQueryable<TSource>) , зависит от реализации типа source параметра. Ожидаемое поведение заключается в том, что он возвращает последний элемент в source.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0