Queryable.First Method

定義

シーケンスの最初の要素を返します。 Returns the first element of a sequence.

オーバーロード

First<TSource>(IQueryable<TSource>)

シーケンスの最初の要素を返します。 Returns the first element of a sequence.

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

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

First<TSource>(IQueryable<TSource>)

シーケンスの最初の要素を返します。 Returns the first element of a sequence.

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

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

パラメーター
source
IQueryable<TSource>

最初の要素を返す IQueryable<T> The IQueryable<T> to return the first element of.

戻り値

source の最初の要素。 The first element in source.

例外

sourcenullです。 source is null.

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

次のコード例は、使用する方法を示しますFirst<TSource>(IQueryable<TSource>)シーケンスの最初の要素を取得します。The following code example demonstrates how to use First<TSource>(IQueryable<TSource>) to return the first element in a sequence.

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

int first = numbers.AsQueryable().First();

Console.WriteLine(first);

/*
    This code produces the following output:

    9
*/

Dim numbers() As Integer = {9, 34, 65, 92, 87, 435, 3, 54, _
                    83, 23, 87, 435, 67, 12, 19}

Dim first As Integer = numbers.AsQueryable().First()

MsgBox(first)

' This code produces the following output:
'
' 9

注釈

First<TSource>(IQueryable<TSource>)メソッドを生成、MethodCallExpression呼び出しを表すFirst<TSource>(IQueryable<TSource>)として構築されたジェネリック メソッド自体。The First<TSource>(IQueryable<TSource>) method generates a MethodCallExpression that represents calling First<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.

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

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

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

public static TSource First<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 first element in source that passes the test in predicate.

例外

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

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

次のコード例は、使用する方法を示しますFirst<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)条件を満たす、シーケンスの最初の要素を返します。The following code example demonstrates how to use First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) to return the first element of a sequence that satisfies a condition.

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

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

Console.WriteLine(first);

/*
    This code produces the following output:

    92
*/

Dim numbers() As Integer = {9, 34, 65, 92, 87, 435, 3, 54, _
                  83, 23, 87, 435, 67, 12, 19}

' Get the first number in the array that is greater than 80.
Dim first As Integer = numbers.AsQueryable().First(Function(number) number > 80)

MsgBox(first)

' This code produces the following output:
'
' 92

注釈

このメソッドは、少なくとも 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>.

First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)メソッドを生成、MethodCallExpression呼び出しを表すFirst<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)として構築されたジェネリック メソッド自体。The First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) method generates a MethodCallExpression that represents calling First<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.

呼び出し元を表す式ツリーを実行した結果として発生するクエリの動作First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)の型の実装によって異なります、sourceパラメーター。The query behavior that occurs as a result of executing an expression tree that represents calling First<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 first element in source that satisfies the condition specified by predicate.

適用対象