Compartilhar via


Queryable.ElementAtOrDefault Método

Definição

Sobrecargas

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

Retorna o elemento em um índice especificado em uma sequência ou um valor padrão se o índice estiver fora do intervalo.

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

Retorna o elemento em um índice especificado em uma sequência ou um valor padrão se o índice estiver fora do intervalo.

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

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Retorna o elemento em um índice especificado em uma 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, 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

Parâmetros de tipo

TSource

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TSource>

Um IQueryable<T> do qual um elemento será retornado.

index
Index

O índice do elemento a ser recuperado, que é do início ou do final.

Retornos

TSource

default se index estiver fora dos limites da source sequência; caso contrário, o elemento na posição especificada na source sequência.

Exceções

source é null.

Aplica-se a

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

Origem:
Queryable.cs
Origem:
Queryable.cs
Origem:
Queryable.cs

Retorna o elemento em um índice especificado em uma 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);
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

TSource

O tipo dos elementos de source.

Parâmetros

source
IQueryable<TSource>

Um IQueryable<T> do qual um elemento será retornado.

index
Int32

O índice baseado em zero do elemento a ser recuperado.

Retornos

TSource

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 a seguir 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]'.

Comentários

O ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) método gera um MethodCallExpression que representa a própria chamada ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) como um método genérico construído. Em seguida, ele passa o MethodCallExpression para o Execute<TResult>(Expression) método do IQueryProvider representado pela Provider propriedade do source parâmetro .

O comportamento da consulta que ocorre como resultado da execução de uma árvore de expressão que representa a chamada ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) depende da implementação do tipo do source parâmetro. O comportamento esperado é que ele retorna o item na posição index em sourceou default(TSource) se index está fora dos limites de source.

Aplica-se a