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

コレクション内の個々の要素にアクセスできます。

構文

object(index)  

指定項目

用語 定義
object 必須です。 クエリ可能なコレクション。 つまり、IEnumerable<T> または IQueryable<T> を実装するコレクション。
( 必須です。 インデクサー プロパティの先頭を表します。
index 必須です。 コレクションの要素の 0 から始まる位置を指定する整数式。
) 必須です。 インデクサー プロパティの末尾を表します。

戻り値

コレクション内の指定した位置からのオブジェクト、または Nothing (インデックスが範囲外の場合)。

Remarks

拡張インデクサー プロパティを使用して、コレクションの個別の要素にアクセスできます。 このインデクサー プロパティは、通常、XML 軸プロパティの出力で使用されます。 XML 子軸プロパティおよび XML 子孫軸プロパティは、XElement オブジェクトのコレクションまたは属性値を返します。

拡張インデクサーのプロパティは、Visual Basic コンパイラによって、ElementAtOrDefault メソッドへの呼び出しに変換されます。 配列インデクサーとは異なり、ElementAtOrDefault メソッドは、インデックスが範囲外の場合に Nothing を返します。 この動作は、コレクション内の要素の数を簡単には判断できない場合に便利です。

このインデクサー プロパティは、IEnumerable<T> または IQueryable<T> を実装するコレクションの拡張プロパティと似ています。つまり、コレクションにインデクサーまたは既定のプロパティがない場合にのみ使用されます。

XElement または XAttribute オブジェクト コレクションの最初の要素の値には、XML Value プロパティを使用してアクセスできます。 詳細については、「XML Value プロパティ」を参照してください。

次の例は、拡張インデクサーを使用して、XElement オブジェクト コレクションの 2 番目の子ノードにアクセスする方法を示しています。 コレクションには子軸プロパティを使用してアクセスします。これにより、contact オブジェクトの phone という名前の子要素すべてが取得されます。

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)

このコードを実行すると、次のテキストが表示されます。

Second phone number: 425-555-0145

関連項目