Condividi tramite


Proprietà dell'indicizzatore di estensione (Visual Basic)

Fornisce l'accesso ai singoli elementi di una raccolta.

Sintassi

object(index)  

Parti

Termine Definizione
object Obbligatorio. Una raccolta di tipo queryable. Si tratta di una raccolta che implementa IEnumerable<T> o IQueryable<T>.
( Obbligatorio. Indica l'avvio della proprietà dell'indicizzatore.
index Obbligatorio. Espressione integer che specifica la posizione in base zero di un elemento della raccolta.
) Obbligatorio. Indica la fine della proprietà dell'indicizzatore.

Valore restituito

L’oggetto dalla posizione specificata nella raccolta, oppure Nothing, se l'indice non è compreso nell'intervallo.

Osservazioni:

È possibile utilizzare la proprietà dell'indicizzatore di estensione per accedere a singoli elementi in una raccolta. Tale proprietà viene in genere utilizzata nell'output delle proprietà dell'asse XML. Le proprietà dell’elemento figlio XML e dell'asse discendente XML restituiscono raccolte di oggetti XElement o un valore di attributo.

Il compilatore Visual Basic converte le proprietà dell'indicizzatore di estensione in chiamate al metodo ElementAtOrDefault. A differenza di un indicizzatore di matrice, il metodo ElementAtOrDefault restituisce Nothing se l'indice non è compreso nell'intervallo. Questo comportamento è utile quando non è possibile determinare facilmente il numero di elementi in una raccolta.

Questa proprietà dell'indicizzatore è simile a una proprietà di estensione per le raccolte che implementano IEnumerable<T> o IQueryable<T>: viene usata solo se la raccolta non dispone di un indicizzatore o di una proprietà predefinita.

Per accedere al valore del primo elemento in una raccolta di oggetti XElement o XAttribute, è possibile utilizzare la proprietà XML Value. Per altre informazioni, vedere Proprietà Value XML.

Esempio

L’esempio seguente mostra come usare l'indicizzatore di estensione per accedere al secondo nodo figlio in una raccolta di oggetti XElement. L'accesso alla raccolta viene eseguito utilizzando la proprietà asse dell’elemento figlio, che ottiene tutti gli elementi figlio denominati phone nell'oggetto 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)

Questo codice visualizza il testo seguente:

Second phone number: 425-555-0145

Vedi anche