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


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

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Last(System::Linq::IQueryable<TSource> ^ source, System::Linq::Expressions::Expression<Func<TSource, bool> ^> ^ predicate);
public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
static member Last : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> -> 'Source
<Extension()>
Public Function Last(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean))) As TSource

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

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>>) для возврата последнего элемента массива, удовлетворяющего условию.

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
*/
Dim numbers() As Integer = {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.
Dim last As Integer = numbers.AsQueryable().Last(Function(num) num > 80)

MsgBox(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.

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

Last<TSource>(IQueryable<TSource>)

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

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

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource Last(System::Linq::IQueryable<TSource> ^ source);
public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source);
static member Last : System.Linq.IQueryable<'Source> -> 'Source
<Extension()>
Public Function Last(Of TSource) (source As IQueryable(Of TSource)) As TSource

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

TSource

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

Параметры

source
IQueryable<TSource>

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

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

TSource

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

Исключения

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

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

Примеры

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

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
*/
Dim numbers() As Integer = {9, 34, 65, 92, 87, 435, 3, 54, _
                    83, 23, 87, 67, 12, 19}

Dim last As Integer = numbers.AsQueryable().Last()

MsgBox(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.

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