Sdílet prostřednictvím


Queryable.First Metoda

Definice

Vrátí první prvek sekvence.

Přetížení

First<TSource>(IQueryable<TSource>)

Vrátí první prvek sekvence.

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

Vrátí první prvek sekvence, který splňuje zadanou podmínku.

First<TSource>(IQueryable<TSource>)

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Vrátí první prvek sekvence.

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

Parametry typu

TSource

Typ elementů .source

Parametry

source
IQueryable<TSource>

Chcete-li IQueryable<T> vrátit první prvek z.

Návraty

TSource

První prvek v nástroji source.

Výjimky

source je null.

Sekvence zdroje je prázdná.

Příklady

Následující příklad kódu ukazuje, jak použít First<TSource>(IQueryable<TSource>) k vrácení prvního prvku v sekvenci.

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

Poznámky

Metoda First<TSource>(IQueryable<TSource>) vygeneruje metodu MethodCallExpression , která představuje volání First<TSource>(IQueryable<TSource>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source .

Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání First<TSource>(IQueryable<TSource>) , závisí na implementaci typu parametru source . Očekávané chování je, že vrátí první prvek v source.

Platí pro

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

Zdroj:
Queryable.cs
Zdroj:
Queryable.cs
Zdroj:
Queryable.cs

Vrátí první prvek sekvence, který splňuje zadanou podmínku.

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

Parametry typu

TSource

Typ elementů .source

Parametry

source
IQueryable<TSource>

An IQueryable<T> , ze které se vrátí prvek.

predicate
Expression<Func<TSource,Boolean>>

Funkce pro otestování každého prvku pro podmínku.

Návraty

TSource

První prvek, source který úspěšně projde testem v predicate.

Výjimky

source nebo predicate je null.

Žádný prvek nesplňuje podmínku v predicate.

-nebo-

Sekvence zdroje je prázdná.

Příklady

Následující příklad kódu ukazuje, jak použít First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) k vrácení prvního prvku sekvence, která splňuje podmínku.

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

Poznámky

Tato metoda má alespoň jeden parametr typu Expression<TDelegate> , jehož argument typu je jedním z Func<T,TResult> typů. Pro tyto parametry můžete předat výraz lambda, který se zkompiluje do Expression<TDelegate>.

Metoda First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) vygeneruje metodu MethodCallExpression , která představuje volání First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) sebe sama jako konstruovanou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderExecute<TResult>(Expression) reprezentované Provider vlastností parametru source .

Chování dotazu, ke kterému dochází v důsledku spuštění stromu výrazů, který představuje volání First<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) , závisí na implementaci typu parametru source . Očekávané chování je, že vrátí první prvek v source , který splňuje podmínku určenou nástrojem predicate.

Platí pro