Queryable.First Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
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
.