Queryable.ElementAtOrDefault Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
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 source
ou default(TSource)
se index
está fora dos limites de source
.