擴充索引子屬性 (Visual Basic)
提供集合中個別項目的存取。
語法
object(index)
組件
詞彙 | 定義 |
---|---|
object |
必要。 可查詢的集合。 也就是實作 IEnumerable<T> 或 IQueryable<T> 的集合。 |
( | 必要。 表示索引子屬性的開頭。 |
index |
必要。 整數運算式,指定集合中元素以零起始的位置。 |
) | 必要。 表示索引子屬性的結尾。 |
傳回值
集合中指定位置的物件;如果索引超出範圍,則為 Nothing
。
備註
您可以使用延伸模組索引子屬性來存取集合中的個別元素。 此索引子屬性通常會在 XML 軸屬性輸出時使用。 XML 子系和 XML 子系軸屬性會傳回 XElement 物件集合或一個屬性值。
Visual Basic 編譯器會將延伸模組索引子屬性轉換成 ElementAtOrDefault
方法的呼叫。 不同於陣列索引子,如果索引超出範圍,則 ElementAtOrDefault
方法會傳回 Nothing
。 當您無法輕易判斷集合中的元素數目時,此行為會很有用。
此索引子屬性類似於實作 IEnumerable<T> 或 IQueryable<T> 之集合的延伸模組屬性:只有在集合沒有索引子或預設屬性時才會使用。
若要存取 XElement 或 XAttribute 物件集合中第一個元素的值,您可以使用 XML Value
屬性。 如需詳細資訊,請參閱 XML 值屬性。
範例
下列範例示範如何使用延伸模組索引子來存取 XElement 物件集合中的第二個子節點。 此集合是透過使用子軸屬性來進行存取,該屬性會取得 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