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
Value (Propiedad XML) (Visual Basic)