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

Definice

Vrátí prvek v zadaném indexu v sekvenci nebo výchozí hodnotu, pokud je index mimo rozsah.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);
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

Parametry typu

TSource

Typ prvků source .The type of the elements of source.

Parametry

source
IQueryable<TSource>

IQueryable<T>A vrátí prvek z.An IQueryable<T> to return an element from.

index
Int32

Index založený na nule elementu, který se má načíst.The zero-based index of the element to retrieve.

Návraty

TSource

Default( TSource ) index , pokud je mimo hranice; v source opačném případě prvek na zadané pozici v source .default(TSource) if index is outside the bounds of source; otherwise, the element at the specified position in source.

Výjimky

source je null.source is null.

Příklady

Následující příklad kódu ukazuje, jak použít ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) .The following code example demonstrates how to use ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). V tomto příkladu je použita hodnota index , která je mimo hranice zdrojové sekvence.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]'.

Poznámky

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)Metoda generuje MethodCallExpression , který reprezentuje volání ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) sebe sama jako vytvořenou obecnou metodu.The ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) method generates a MethodCallExpression that represents calling ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) itself as a constructed generic method. Poté předá MethodCallExpression Execute<TResult>(Expression) metodě IQueryProvider reprezentované Provider vlastností source parametru.It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Chování dotazu, k němuž dojde v důsledku provádění stromu výrazu, který představuje volání, ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) závisí na implementaci typu source parametru.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. Očekávané chování je, že vrátí položku na pozici index v source , nebo default(TSource) Pokud index je mimo hranice source .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.

Platí pro