Partager via


Propriété d’indexeur d’extension (Visual Basic)

Fournit un accès aux différents éléments d'une collection.

Syntaxe

object(index)  

Éléments

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é d’indexeur.
index Obligatoire. Expression entière spécifiant la position zéro d'un élément de la collection.
) Obligatoire. Indique la fin de la propriété d’indexeur.

Valeur renvoyée

L’objet de l’emplacement spécifié dans la collection, ou Nothing si l’index est hors limites.

Notes

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 enfant XML et de l’axe descendant XML renvoient 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 sur la méthode ElementAtOrDefault. Contrairement à un indexeur de tableau, la méthode ElementAtOrDefault renvoie Nothing si l’index est hors limites. 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 aucun indexeur ou propriété par défaut.

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

Exemple

L’exemple suivant montre de quelle manière utiliser l’indexeur d’extension pour accéder au deuxième nœud enfant d’une collection d’objets XElement. La collection est accessible à l’aide de la propriété d’axe enfant, obtenant 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