Queryable.ElementAtOrDefault<TSource> Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.