Queryable.ElementAtOrDefault<TSource> Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert het element in een opgegeven index in een reeks of een standaardwaarde als de index buiten het bereik valt.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static TSource ElementAtOrDefault(System::Linq::IQueryable<TSource> ^ source, int index);
public static TSource ElementAtOrDefault<TSource>(this System.Linq.IQueryable<TSource> source, int index);
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * int -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IQueryable(Of TSource), index As Integer) As TSource
Type parameters
- TSource
Het type van de elementen van source.
Parameters
- source
- IQueryable<TSource>
Een IQueryable<T> om een element van te retourneren.
- index
- Int32
De op nul gebaseerde index van het element dat moet worden opgehaald.
Retouren
default(TSource) indien index buiten de grenzen van source; anders, het element op de opgegeven positie in source.
Uitzonderingen
source is null.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u dit kunt gebruiken ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In dit voorbeeld wordt een waarde gebruikt index die buiten de grenzen van de bronvolgorde valt.
string[] names = { "Hartono, Tommy", "Adams, Terry",
"Andersen, Henriette Thaulow",
"Hedlund, Magnus", "Ito, Shu" };
int index = 20;
string name = names.AsQueryable().ElementAtOrDefault(index);
Console.WriteLine(
"The name chosen at index {0} is '{1}'.",
index,
String.IsNullOrEmpty(name) ? "[NONE AT THIS INDEX]" : name);
/*
This code produces the following output:
The name chosen at index 20 is '[NONE AT THIS INDEX]'.
*/
Dim names() As String = {"Hartono, Tommy", "Adams, Terry", _
"Andersen, Henriette Thaulow", _
"Hedlund, Magnus", "Ito, Shu"}
Dim index As Integer = 20
Dim name As String = names.AsQueryable().ElementAtOrDefault(index)
MsgBox(String.Format("The name at index {0} is '{1}'.", _
index, IIf(String.IsNullOrEmpty(name), "[NONE AT THIS INDEX]", name)))
' This code produces the following output:
'
' The name at index 20 is '[NONE AT THIS INDEX]'.
Opmerkingen
De ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) methode genereert een MethodCallExpression die zichzelf aanroept ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de Execute<TResult>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source parameter.
Het querygedrag dat optreedt als gevolg van het uitvoeren van een expressiestructuur die aanroept ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) , is afhankelijk van de implementatie van het type source parameter. Het verwachte gedrag is dat het item op positie index in sourceof default(TSource) buiten index de grenzen van source.