Queryable.ElementAtOrDefault Methode

Definition

Überlädt

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem ein Element zurückgegeben werden soll

index
Index

Der Index des zu abrufenden Elements, das entweder vom Anfang oder ende aus ist.

Gibt zurück

TSource

default wenn sich die Grenzen der Sequenz außerhalb der Sequenz befinden; andernfalls index wird das Element an der angegebenen Position in der source source Sequenz angezeigt.

Ausnahmen

source ist null.

Gilt für

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Gibt das Element an einem angegebenen Index in einer Sequenz oder einen Standardwert zurück, wenn der Index außerhalb des gültigen Bereichs liegt.

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);
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

Typparameter

TSource

Der Typ der Elemente von source.

Parameter

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem ein Element zurückgegeben werden soll

index
Int32

Der auf 0 (null) basierende Index des abzurufenden Elements.

Gibt zurück

TSource

default(TSource), wenn index außerhalb der Begrenzungen von source liegt, andernfalls das Element an der angegebenen Position in source.

Ausnahmen

source ist null.

Beispiele

Das folgende Codebeispiel zeigt die Verwendung von ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In diesem Beispiel wird ein Wert verwendet, der index außerhalb der Grenzen der Quellsequenz liegt.

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]'.

Hinweise

Die ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) Methode generiert eine MethodCallExpression , die das Aufrufen ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode IQueryProvider des dargestellten Objekts durch die Execute<TResult>(Expression) Provider Eigenschaft des source Parameters übergeben.

Das Abfrageverhalten, das aufgrund der Ausführung einer Ausdrucksstruktur auftritt, die aufruft, hängt von der Implementierung des Typs ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) des source Parameters ab. Das erwartete Verhalten besteht darin, dass es das Element an der Position index zurückgibt sourceoder default(TSource) index außerhalb der Grenzen von source.

Gilt für