Queryable.Last Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar det sista elementet i en sekvens.
Överlagringar
| Name | Description |
|---|---|
| Last<TSource>(IQueryable<TSource>) |
Returnerar det sista elementet i en sekvens. |
| Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) |
Returnerar det sista elementet i en sekvens som uppfyller ett angivet villkor. |
Last<TSource>(IQueryable<TSource>)
Returnerar det sista elementet i en sekvens.
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
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IQueryable<TSource>
En IQueryable<T> som returnerar det sista elementet i.
Returer
Värdet vid den sista positionen i source.
Undantag
source är null.
Källsekvensen är tom.
Exempel
Följande kodexempel visar hur du använder Last<TSource>(IQueryable<TSource>) för att returnera det sista elementet i en matris.
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
Kommentarer
Metoden Last<TSource>(IQueryable<TSource>) genererar en MethodCallExpression som representerar att anropa Last<TSource>(IQueryable<TSource>) sig själv som en konstruerad generisk metod. Den skickar sedan till Execute<TResult>(Expression) metoden för den IQueryProvider som representeras av Provider egenskapen för parameternsource.MethodCallExpression
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Last<TSource>(IQueryable<TSource>) körs beror på implementeringen av source parametertypen. Det förväntade beteendet är att det returnerar det sista elementet i source.
Gäller för
Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>)
Returnerar det sista elementet i en sekvens som uppfyller ett angivet villkor.
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
Typparametrar
- TSource
Typen av element sourcei .
Parametrar
- source
- IQueryable<TSource>
Ett IQueryable<T> att returnera ett element från.
- predicate
- Expression<Func<TSource,Boolean>>
En funktion för att testa varje element för ett villkor.
Returer
Det sista elementet i source som klarar testet som anges av predicate.
Undantag
source eller predicate är null.
Inget element uppfyller villkoret i predicate.
-eller-
Källsekvensen är tom.
Exempel
Följande kodexempel visar hur du använder Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) för att returnera det sista elementet i en matris som uppfyller ett villkor.
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
Kommentarer
Den här metoden har minst en parameter av typen Expression<TDelegate> vars typargument är en av typerna Func<T,TResult> . För dessa parametrar kan du skicka ett lambda-uttryck och kompileras till en Expression<TDelegate>.
Metoden Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) genererar en MethodCallExpression som representerar att anropa Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) sig själv som en konstruerad generisk metod. Den skickar sedan till Execute<TResult>(Expression) metoden för den IQueryProvider som representeras av Provider egenskapen för parameternsource.MethodCallExpression
Frågebeteendet som uppstår till följd av att ett uttrycksträd som representerar anrop Last<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>) körs beror på implementeringen av source parametertypen. Det förväntade beteendet är att det returnerar det sista elementet i source som uppfyller villkoret som anges av predicate.