Condividi tramite


Queryable.ElementAtOrDefault Metodo

Definizione

Overload

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.

ElementAtOrDefault<TSource>(IQueryable<TSource>, Index)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.

public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
 static TSource ElementAtOrDefault(System::Linq::IQueryable<TSource> ^ source, Index index);
public static TSource? ElementAtOrDefault<TSource> (this System.Linq.IQueryable<TSource> source, Index index);
static member ElementAtOrDefault : System.Linq.IQueryable<'Source> * Index -> 'Source
<Extension()>
Public Function ElementAtOrDefault(Of TSource) (source As IQueryable(Of TSource), index As Index) As TSource

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Oggetto IQueryable<T> dal quale restituire un elemento.

index
Index

Indice dell'elemento da recuperare, ovvero dall'inizio o dalla fine.

Restituisce

TSource

default se index è esterno ai limiti della source sequenza; in caso contrario, l'elemento in corrispondenza della posizione specificata nella source sequenza.

Eccezioni

source è null.

Si applica a

ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32)

Origine:
Queryable.cs
Origine:
Queryable.cs
Origine:
Queryable.cs

Restituisce l'elemento in corrispondenza di un indice specificato in una sequenza o un valore predefinito se l'indice è esterno all'intervallo.

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

Parametri di tipo

TSource

Tipo degli elementi di source.

Parametri

source
IQueryable<TSource>

Oggetto IQueryable<T> dal quale restituire un elemento.

index
Int32

Indice in base zero dell'elemento da recuperare.

Restituisce

TSource

default(TSource) se index non rientra nei limiti di source; in caso contrario, l'elemento in corrispondenza della posizione specificata in source.

Eccezioni

source è null.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). In questo esempio viene utilizzato un valore per index che non rientra nei limiti della sequenza di origine.

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) se stesso come metodo generico costruito. Passa quindi l'oggetto MethodCallExpression al Execute<TResult>(Expression) metodo dell'oggetto IQueryProvider rappresentato dalla Provider proprietà del source parametro .

Il comportamento della query che si verifica come risultato dell'esecuzione di un albero delle espressioni che rappresenta la chiamata ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) dipende dall'implementazione del tipo del source parametro. Il comportamento previsto è che restituisce l'elemento in corrispondenza della posizione index in sourceo default(TSource) se index è esterno ai limiti di source.

Si applica a