拡張インデクサー プロパティ (Visual Basic)Extension Indexer Property (Visual Basic)

コレクション内の個々の要素にアクセスできます。Provides access to individual elements in a collection.

構文Syntax

object(index)  

指定項目Parts

用語Term 定義Definition
object 必須です。Required. クエリ可能なコレクション。A queryable collection. つまり、IEnumerable<T> または IQueryable<T> を実装するコレクション。That is, a collection that implements IEnumerable<T> or IQueryable<T>.
(( 必須です。Required. インデクサー プロパティの先頭を表します。Denotes the start of the indexer property.
index 必須です。Required. コレクションの要素の 0 から始まる位置を指定する整数式。An integer expression that specifies the zero-based position of an element of the collection.
)) 必須です。Required. インデクサー プロパティの末尾を表します。Denotes the end of the indexer property.

戻り値Return Value

コレクション内の指定した位置からのオブジェクト、または Nothing (インデックスが範囲外の場合)。The object from the specified location in the collection, or Nothing if the index is out of range.

RemarksRemarks

拡張インデクサー プロパティを使用して、コレクションの個別の要素にアクセスできます。You can use the extension indexer property to access individual elements in a collection. このインデクサー プロパティは、通常、XML 軸プロパティの出力で使用されます。This indexer property is typically used on the output of XML axis properties. XML 子軸プロパティおよび XML 子孫軸プロパティは、XElement オブジェクトのコレクションまたは属性値を返します。The XML child and XML descendent axis properties return collections of XElement objects or an attribute value.

拡張インデクサーのプロパティは、Visual Basic コンパイラによって、ElementAtOrDefault メソッドへの呼び出しに変換されます。The Visual Basic compiler converts extension indexer properties to calls to the ElementAtOrDefault method. 配列インデクサーとは異なり、ElementAtOrDefault メソッドは、インデックスが範囲外の場合に Nothing を返します。Unlike an array indexer, the ElementAtOrDefault method returns Nothing if the index is out of range. この動作は、コレクション内の要素の数を簡単には判断できない場合に便利です。This behavior is useful when you cannot easily determine the number of elements in a collection.

このインデクサー プロパティは、IEnumerable<T> または IQueryable<T> を実装するコレクションの拡張プロパティと似ています。つまり、コレクションにインデクサーまたは既定のプロパティがない場合にのみ使用されます。This indexer property is like an extension property for collections that implement IEnumerable<T> or IQueryable<T>: it is used only if the collection does not have an indexer or a default property.

XElement または XAttribute オブジェクト コレクションの最初の要素の値には、XML Value プロパティを使用してアクセスできます。To access the value of the first element in a collection of XElement or XAttribute objects, you can use the XML Value property. 詳細については、「XML Value プロパティ」を参照してください。For more information, see XML Value Property.

Example

次の例は、拡張インデクサーを使用して、XElement オブジェクト コレクションの 2 番目の子ノードにアクセスする方法を示しています。The following example shows how to use the extension indexer to access the second child node in a collection of XElement objects. コレクションには子軸プロパティを使用してアクセスします。これにより、contact オブジェクトの phone という名前の子要素すべてが取得されます。The collection is accessed by using the child axis property, which gets all child elements named phone in the contact object.

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)

このコードを実行すると、次のテキストが表示されます。This code displays the following text:

Second phone number: 425-555-0145

関連項目See also