Queryable.ElementAtOrDefault<TSource> Méthode

Définition

Retourne l’élément à un index spécifié dans une séquence ou une valeur par défaut si l’index est hors plage.

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

Paramètres de type

TSource

Type des éléments de source.

Paramètres

source
IQueryable<TSource>

À IQueryable<T> partir duquel retourner un élément.

index
Int32

Index de base zéro de l’élément à récupérer.

Retours

TSource

default(TSource) s’il index se trouve en dehors des limites de source; sinon, l’élément à la position spécifiée dans source.

Exceptions

source a la valeur null.

Exemples

L’exemple de code suivant montre comment utiliser ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32). Cet exemple utilise une valeur qui index se trouve en dehors des limites de la séquence source.

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

Remarques

La méthode ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) génère une MethodCallExpression qui représente l’appel de ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) elle-même en tant que méthode générique construite. Il transmet ensuite la MethodCallExpression à la méthode Execute<TResult>(Expression) de l'IQueryProvider représentée par la propriété Provider du paramètre source.

Le comportement de requête qui se produit suite à l’exécution d’une arborescence d’expressions qui représente l’appel de ElementAtOrDefault<TSource>(IQueryable<TSource>, Int32) dépend de l’implémentation du type du paramètre source. Le comportement attendu est qu’il retourne l’élément à la position index dans , ou source s’il default(TSource) est en dehors des limites de indexsource.

S’applique à