Queryable.ElementAtOrDefault<TSource> Methode

Definitie

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

TSource

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.

Van toepassing op