擴充索引子屬性
更新:2007 年 11 月
提供對集合中個別項目的存取。
object(index)
參數
object
必要項。可查詢的集合。也就是,實作 IEnumerable<T> 或 IQueryable<T> 的集合。(
必要項。代表索引子屬性的開頭。index
必要項。整數運算式,指定集合中以零起始的項目位置。)
必要項。代表索引子屬性的結尾。
傳回值
集合中指定位置上的物件,如果索引超過範圍外則為 Nothing。
備註
您可以使用擴充索引子屬性存取集合中的個別項目。此索引子屬性通常用在 XML 軸屬性的輸出。XML 子項和 XML 子代軸屬性會傳回 XElement 物件或屬性 (Attribute) 值的集合。
Visual Basic 編譯器 (Compiler) 會將擴充索引子屬性轉換為對 ElementAtOrDefault 方法的呼叫。與陣列索引子不同的是,ElementAtOrDefault 方法會在索引超出範圍時傳回 Nothing。當您無法輕易判斷集合中的項目數量時,這種行為相當有用。
索引子屬性如同實作 IEnumerable<T> 或 IQueryable<T> 之集合的擴充屬性:只在集合沒有索引子或預設屬性時使用。
若要存取 XElement 或 XAttribute 物件集合中第一個項目的值,您可以使用 XML Value 屬性。如需詳細資訊,請參閱 XML Value 屬性。
範例
下列範例顯示如何使用擴充索引子存取 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