Queryable.Last Method

定義

シーケンスの最後の要素を返します。 Returns the last element in a sequence.

オーバーロード

Last<TSource>(IQueryable<TSource>)

シーケンスの最後の要素を返します。 Returns the last element in a sequence.

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

指定された条件を満たす、シーケンスの最後の要素を返します。 Returns the last element of a sequence that satisfies a specified condition.

Last<TSource>(IQueryable<TSource>)

シーケンスの最後の要素を返します。 Returns the last element in a sequence.

public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source);
型パラメーター
TSource

要素の型ソースします。 The type of the elements of source.

パラメーター
source
IQueryable<TSource>

最後の要素を返す IQueryable<T> An IQueryable<T> to return the last element of.

戻り値

source の最後の位置にある値。 The value at the last position in source.

例外

sourcenullです。 source is null.

ソース シーケンスが空です。 The source sequence is empty.

次のコード例は、使用する方法を示しますLast<TSource>(IQueryable<TSource>)を配列の最後の要素を返します。The following code example demonstrates how to use Last<TSource>(IQueryable<TSource>) to return the last element of an array.

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>)として構築されたジェネリック メソッド自体。The Last<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling Last<TSource>(IQueryable<TSource>) itself as a constructed generic method. これは、後、渡します、MethodCallExpressionExecute<TResult>(Expression)のメソッド、IQueryProviderによって表される、Providerのプロパティ、sourceパラメーター。It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

呼び出し元を表す式ツリーを実行した結果として発生するクエリの動作Last<TSource>(IQueryable<TSource>)の型の実装によって異なります、sourceパラメーター。The query behavior that occurs as a result of executing an expression tree that represents calling Last<TSource>(IQueryable<TSource>) depends on the implementation of the type of the source parameter. 想定される動作では、最後の要素を返しますsourceします。The expected behavior is that it returns the last element in source.

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

指定された条件を満たす、シーケンスの最後の要素を返します。 Returns the last element of a sequence that satisfies a specified condition.

public static TSource Last<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate);
型パラメーター
TSource

要素の型ソースします。 The type of the elements of source.

パラメーター
source
IQueryable<TSource>

返される要素が含まれる IQueryable<T> An IQueryable<T> to return an element from.

predicate
Expression<Func<TSource,Boolean>>

各要素が条件を満たしているかどうかをテストする関数。 A function to test each element for a condition.

戻り値

source で指定されたテストに合格する、predicate の最後の要素。 The last element in source that passes the test specified by predicate.

例外

source または predicatenull です。 source or predicate is null.

predicate の条件を満たす要素はありません。 No element satisfies the condition in predicate. - または - -or- ソース シーケンスが空です。 The source sequence is empty.

次のコード例は、使用する方法を示しますLast<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)を条件を満たす、配列の最後の要素を返します。The following code example demonstrates how to use Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) to return the last element of an array that satisfies a condition.

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

注釈

このメソッドは、少なくとも 1 つのパラメーター型のExpression<TDelegate>型引数は、のいずれか、Func<T,TResult>型。This method has at least one parameter of type Expression<TDelegate> whose type argument is one of the Func<T,TResult> types. ラムダ式で、これらのパラメーターを渡すことができますにコンパイルされると、Expression<TDelegate>します。For these parameters, you can pass in a lambda expression and it will be compiled to an Expression<TDelegate>.

Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)メソッドを生成、MethodCallExpression呼び出しを表すLast<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)として構築されたジェネリック メソッド自体。The Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) method generates a MethodCallExpression that represents calling Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) itself as a constructed generic method. これは、後、渡します、MethodCallExpressionExecute<TResult>(Expression)のメソッド、IQueryProviderによって表される、Providerのプロパティ、sourceパラメーター。It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

呼び出し元を表す式ツリーを実行した結果として発生するクエリの動作Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)の型の実装によって異なります、sourceパラメーター。The query behavior that occurs as a result of executing an expression tree that represents calling Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) depends on the implementation of the type of the source parameter. 想定される動作では、最後の要素を返しますsourceによって指定された条件を満たすpredicateします。The expected behavior is that it returns the last element in source that satisfies the condition specified by predicate.

適用対象