Partager via


Extension Indexer, propriété (Visual Basic)

Fournit l’accès à des éléments individuels dans une collection.

Syntaxe

object(index)  

Pièces

Terme Définition
object Obligatoire. Collection interrogeable. Autrement dit, une collection qui implémente IEnumerable<T> ou IQueryable<T>.
( Obligatoire. Indique le début de la propriété indexeur.
index Obligatoire. Expression entière qui spécifie la position de base zéro d’un élément de la collection.
) Obligatoire. Indique la fin de la propriété indexeur.

Valeur de retour

Objet de l’emplacement spécifié dans la collection ou Nothing si l’index est hors plage.

Remarques

Vous pouvez utiliser la propriété d’indexeur d’extension pour accéder à des éléments individuels dans une collection. Cette propriété d’indexeur est généralement utilisée sur la sortie des propriétés de l’axe XML. Les propriétés de l’axe descendant XML et enfant XML retournent des collections d’objets XElement ou une valeur d’attribut.

Le compilateur Visual Basic convertit les propriétés de l’indexeur d’extension en appels à la ElementAtOrDefault méthode. Contrairement à un indexeur de tableau, la ElementAtOrDefault méthode retourne Nothing si l’index est hors plage. Ce comportement est utile lorsque vous ne pouvez pas facilement déterminer le nombre d’éléments d’une collection.

Cette propriété d’indexeur est semblable à une propriété d’extension pour les collections qui implémentent IEnumerable<T> ou IQueryable<T>: elle est utilisée uniquement si la collection n’a pas d’indexeur ou de propriété par défaut.

Pour accéder à la valeur du premier élément d’une collection ou XAttribute d’objetsXElement, vous pouvez utiliser la propriété XMLValue. Pour plus d’informations, consultez XML Value, propriété.

Exemple :

L’exemple suivant montre comment utiliser l’indexeur d’extension pour accéder au deuxième nœud enfant dans une collection d’objets XElement . La collection est accessible à l’aide de la propriété de l’axe enfant, qui obtient tous les éléments enfants nommés phone dans l’objet contact .

Dim contact As XElement = 
    <contact>
        <name>Patrick Hines</name>
        <phone type="home">206-555-0144</phone>
        <phone type="work">425-555-0145</phone>
    </contact>

Console.WriteLine("Second phone number: " & contact.<phone>(1).Value)

Ce code affiche le texte suivant :

Second phone number: 425-555-0145

Voir aussi