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

Definicja

Zwraca element o określonym indeksie w sekwencji lub wartości domyślnej, jeśli indeks jest poza zakresem.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 elementów source .The type of the elements of source.

Parametry

source
IQueryable<TSource>

IQueryable<T>Do zwrócenia elementu z.An IQueryable<T> to return an element from.

index
Int32

Indeks (liczony od zera) elementu do pobrania.The zero-based index of the element to retrieve.

Zwraca

TSource

default( TSource ) index , jeśli znajduje się poza granicami source ; w przeciwnym razie element w określonej pozycji w source .default(TSource) if index is outside the bounds of source; otherwise, the element at the specified position in source.

Wyjątki

source to null.source is null.

Przykłady

Poniższy przykład kodu demonstruje sposób użycia ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) .The following code example demonstrates how to use ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). W tym przykładzie użyto wartości index , która jest poza granicami sekwencji źródłowej.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]'.

Uwagi

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)Metoda generuje element MethodCallExpression reprezentujący wywoływanie ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) jako metodę rodzajową.The ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) method generates a MethodCallExpression that represents calling ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) itself as a constructed generic method. Następnie przekazuje MethodCallExpression do Execute<TResult>(Expression) metody IQueryProvider reprezentowanej przez Provider Właściwość 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.

Zachowanie zapytania, które występuje w wyniku wykonania drzewa wyrażenia, które reprezentuje wywołanie, ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) zależy od implementacji 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. Oczekiwane zachowanie polega na tym, że zwraca element w pozycji index w source , lub default(TSource) Jeśli index znajduje się poza granicami 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.

Dotyczy