Dela via


Egenskapen Extension Indexer (Visual Basic)

Ger åtkomst till enskilda element i en samling.

Syntax

object(index)  

Delar

Period Definition
object Obligatoriska. En frågebar samling. Det vill: en samling som implementerar IEnumerable<T> eller IQueryable<T>.
( Obligatoriska. Anger början av indexeraregenskapen.
index Obligatoriska. Ett heltalsuttryck som anger den nollbaserade positionen för ett element i samlingen.
) Obligatoriska. Anger slutet på indexerarens egenskap.

Returvärde

Objektet från den angivna platsen i samlingen eller Nothing om indexet ligger inom intervallet.

Kommentarer

Du kan använda egenskapen tilläggsindexerare för att komma åt enskilda element i en samling. Den här indexeraregenskapen används vanligtvis för utdata från XML-axelegenskaper. Egenskaperna för den underordnade XML- och XML-axeln returnerar samlingar av XElement objekt eller ett attributvärde.

Visual Basic-kompilatorn konverterar egenskaper för tilläggsindexerare till anrop till ElementAtOrDefault metoden. Till skillnad från en matrisindexerare ElementAtOrDefault returnerar Nothing metoden om indexet ligger utom intervallet. Det här beteendet är användbart när du inte enkelt kan fastställa antalet element i en samling.

Den här indexeraregenskapen är som en tilläggsegenskap för samlingar som implementerar IEnumerable<T> eller IQueryable<T>: den används endast om samlingen inte har någon indexerare eller en standardegenskap.

Om du vill komma åt värdet för det första elementet i en samling eller XElementXAttribute objekt kan du använda XML-egenskapen Value . Mer information finns i XML-värdeegenskap.

Exempel

I följande exempel visas hur du använder tilläggsindexeraren för att komma åt den andra underordnade noden i en samling XElement objekt. Samlingen nås med hjälp av den underordnade axelegenskapen, som hämtar alla underordnade element med namnet phone i contact objektet.

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)

Den här koden visar följande text:

Second phone number: 425-555-0145

Se även