Queryable.ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) Method

Definition

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.Returns the element at a specified index in a sequence or a default value if the index is out of range.

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

Der Typ der Elemente von source.The type of the elements of source.

Parameters

source
IQueryable<TSource>

Ein IQueryable<T>, aus dem ein Element zurückgegeben werden sollAn IQueryable<T> to return an element from.

index
Int32

Der auf 0 (null) basierende Index des abzurufenden Elements.The zero-based index of the element to retrieve.

Returns

TSource

default(TSource), wenn index außerhalb der Begrenzungen von source liegt, andernfalls das Element an der angegebenen Position in source.default(TSource) if index is outside the bounds of source; otherwise, the element at the specified position in source.

Exceptions

source ist nullsource is null.

Examples

Das folgende Codebeispiel zeigt die Verwendung von ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32).The following code example demonstrates how to use ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In diesem Beispiel wird ein Wert für index verwendet, der außerhalb der Begrenzungen der Quell Sequenz liegt.This example uses a value for index that is outside the bounds of the source sequence.

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

Remarks

Die ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)-Methode generiert eine MethodCallExpression, die den Aufruf von ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) selbst als konstruierte generische Methode darstellt.The ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) method generates a MethodCallExpression that represents calling ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) itself as a constructed generic method. Anschließend übergibt Sie den MethodCallExpression an die Execute<TResult>(Expression)-Methode der IQueryProvider, die durch die Provider-Eigenschaft des source-Parameters dargestellt wird.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Das Abfrage Verhalten, das auftritt, wenn eine Ausdrucks Baumstruktur ausgeführt wird, die den Aufruf von ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) darstellt, hängt von der Implementierung des Typs des source-Parameters ab.The query behavior that occurs as a result of executing an expression tree that represents calling ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) depends on the implementation of the type of the source parameter. Das erwartete Verhalten ist, dass es das Element an der Position index in sourcezurückgibt, oder default(TSource), wenn index außerhalb der Grenzen des sourceliegt.The expected behavior is that it returns the item at position index in source, or default(TSource) if index is outside the bounds of source.

Applies to