Queryable.ElementAtOrDefault<TSource> Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve o elemento num índice especificado numa sequência ou um valor padrão se o índice estiver fora do intervalo.
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
Parâmetros de Tipo Genérico
- TSource
O tipo dos elementos de source.
Parâmetros
- source
- IQueryable<TSource>
Um IQueryable<T> para devolver um elemento de.
- index
- Int32
O índice em base zero do elemento a recuperar.
Devoluções
default(TSource) se index estiver fora dos limites de source; caso contrário, o elemento na posição especificada em source.
Exceções
source é null.
Exemplos
O exemplo de código seguinte demonstra como usar ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). Este exemplo usa um valor para index que está fora dos limites da sequência de origem.
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]'.
Observações
O ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) método gera um MethodCallExpression que representa o autodenominado ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) como um método genérico construído. Depois passa o MethodCallExpression para o Execute<TResult>(Expression) método de o IQueryProvider representado pela Provider propriedade do source parâmetro.
O comportamento de consulta que ocorre como resultado da execução de uma árvore de expressões que representa a chamada ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) depende da implementação do tipo do source parâmetro. O comportamento esperado é que devolve o item na posição index em source, ou default(TSource) se index estiver fora dos limites de source.