Condividi tramite


Proprietà Extension Indexer (Visual Basic)

Fornisce l'accesso a singoli elementi in una raccolta.

Sintassi

object(index)  

Parti

Termine Definizione
object Obbligatorio. Raccolta queryable. Ovvero, una raccolta che implementa IEnumerable<T> o IQueryable<T>.
( ) Obbligatorio. Indica l'inizio 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

Oggetto dalla posizione specificata nell'insieme o 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. Questa proprietà dell'indicizzatore viene in genere utilizzata nell'output delle proprietà dell'asse XML. Le proprietà dell'asse discendente XML e figlio XML restituiscono raccolte di XElement oggetti o un valore di attributo.

Il compilatore Visual Basic converte le proprietà dell'indicizzatore di estensione nelle chiamate al ElementAtOrDefault metodo . A differenza di un indicizzatore di matrice, il ElementAtOrDefault metodo 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 l'insieme non dispone di un indicizzatore o di una proprietà predefinita.

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

Esempio

Nell'esempio seguente viene illustrato come usare l'indicizzatore di estensione per accedere al secondo nodo figlio in una raccolta di XElement oggetti . L'accesso all'insieme viene eseguito utilizzando la proprietà asse 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

Vedere anche