Share via


Propiedad de indizador de extensión

Actualización: noviembre 2007

Proporciona acceso a los elementos individuales de una colección.

object(index)

Partes

  • object
    Necesario. Colección que se puede consultar. Es decir, una colección que implementa IEnumerable<T> o IQueryable<T>.

  • (
    Necesario. Denota el inicio de la propiedad de indizador.

  • index
    Necesario. Expresión de tipo entero que especifica la posición de base cero de un elemento de la colección.

  • )
    Necesario. Denota el fin de la propiedad de indizador.

Valor devuelto

Objeto de la ubicación especificada en la colección, o bien, Nothing si el índice está fuera del intervalo.

Comentarios

Puede usar la propiedad de indizador de extensión para obtener acceso a los elementos individuales de una colección. Esta propiedad de indizador se usa normalmente en el resultado de las propiedades de eje XML. Las propiedades de eje secundario XML y descendiente XML devuelven colecciones de objetos XElement o un valor de atributo.

El compilador de Visual Basic convierte las propiedades de indizador de extensión en llamadas al método ElementAtOrDefault. A diferencia de un indizador de matrices, el método ElementAtOrDefault devuelve Nothing si el índice está fuera del intervalo. Este comportamiento es útil cuando no se puede determinar con facilidad el número de elementos en una colección.

Esta propiedad de indizador es similar a una propiedad de extensión de las colecciones que implementan IEnumerable<T> o IQueryable<T>: se usa únicamente si la colección no tiene indizador o una propiedad predeterminada.

Para obtener acceso al valor del primer elemento en una colección de objetos XElement o XAttribute, puede usar la propiedad XML Value. Para obtener más información, consulte Propiedad Value de XML.

Ejemplo

En el ejemplo siguiente se muestra cómo usar el indizador de extensión para obtener acceso al segundo nodo secundario en una colección de objetos XElement. Se obtiene acceso a la colección mediante la propiedad de eje secundario, que obtiene todos los elementos secundarios denominados phone del objeto 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)

Este código muestra el texto siguiente:

Second phone number: 425-555-0145

Vea también

Referencia

XElement

Propiedad Value de XML

Otros recursos

Propiedades de eje XML

Literales XML

Crear XML en Visual Basic