Compartir a través de


Propiedad de indizador de extensión (Visual Basic)

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

object(index)

Partes

Término

Definición

object

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

(

Obligatorio. Denota el inicio de la propiedad de indizador.

index

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

)

Obligatorio. 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 propiedades de indizador de extensión en las llamadas al método ElementAtOrDefault. A diferencia de un indizador de matriz, 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 Value (Propiedad XML) (Visual Basic).

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

Value (Propiedad XML) (Visual Basic)

Otros recursos

Propiedades de eje XML (Visual Basic)

Literales XML (Visual Basic)

Crear XML en Visual Basic