次の方法で共有


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

コレクション内の個別の要素へのアクセスを提供します。

object(index)

指定項目

語句

定義

object

必ず指定します。クエリ可能なコレクションです。つまり、IEnumerable<T> または IQueryable<T> を実装するコレクションです。

(

必ず指定します。インデクサー プロパティの開始を示します。

index

必ず指定します。コレクションの要素の 0 から始まる位置を指定する整数式です。

)

必ず指定します。インデクサー プロパティの終了を示します。

戻り値

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

解説

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

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

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

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

使用例

次の例では、拡張インデクサーを使用して、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

参照

関連項目

XElement

XML Value プロパティ (Visual Basic)

その他の技術情報

XML 軸プロパティ (Visual Basic)

XML リテラル (Visual Basic)

Visual Basic での XML の作成