拡張インデクサー プロパティ (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
関連項目
.NET