次の方法で共有


Extension Indexer プロパティ (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 値プロパティ」を参照してください。

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

こちらも参照ください