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

Definizione

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.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

Parametri di tipo

TSource

Tipo degli elementi di source.The type of the elements of source.

Parametri

source
IQueryable<TSource>

Oggetto IQueryable<T> dal quale restituire un elemento.An IQueryable<T> to return an element from.

index
Int32 Int32 Int32 Int32

Indice in base zero dell'elemento da recuperare.The zero-based index of the element to retrieve.

Restituisce

TSource TSource TSource TSource

default(TSource) se index è esterno ai limiti di source, in caso contrario l'elemento nella posizione specificata in source.default(TSource) if index is outside the bounds of source; otherwise, the element at the specified position in source.

Eccezioni

Esempi

Nell'esempio di codice seguente viene illustrato come utilizzare ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32).The following code example demonstrates how to use ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In questo esempio viene usato un index valore per che è esterno ai limiti della sequenza di origine.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]'.

Commenti

Il ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) metodo genera un MethodCallExpression oggetto che rappresenta ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) la chiamata a se stesso come metodo generico costruito.The ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) method generates a MethodCallExpression that represents calling ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) itself as a constructed generic method. Passa MethodCallExpression IQueryProvider quindi al source metodo dell'oggetto rappresentato dalla proprietàdelparametro.Provider Execute<TResult>(Expression)It then passes the MethodCallExpression to the Execute<TResult>(Expression) method of the IQueryProvider represented by the Provider property of the source parameter.

Il comportamento della query che si verifica in seguito all'esecuzione di un albero delle espressioni che ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) rappresenta la chiamata dipende dall'implementazione del tipo source di parametro.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. Il comportamento previsto è che restituisce l'elemento in corrispondenza della index posizione sourcein oppure default(TSource) se index è esterno ai limiti di 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.

Si applica a