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>

Un 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 il valore per index 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 che rappresenta una chiamata ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) stesso come un 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 quindi il MethodCallExpression per il Execute<TResult>(Expression) metodo del IQueryProvider rappresentato dal Provider proprietà del source parametro.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 delle query che si verifica in seguito all'esecuzione di un albero delle espressioni che rappresenta una chiamata ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) dipende dall'implementazione del tipo del source 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 nella posizione index nelle source, o default(TSource) se index fuori dei 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