扩展索引器属性 (Visual Basic)

提供对集合中各个元素的访问权限。

语法

object(index)  

部件

术语 定义
object 必填。 可查询集合。 也就是说,实现 IEnumerable<T> 或实现的 IQueryable<T>集合。
( 必填。 表示索引器属性的开头。
index 必填。 一个整数表达式,指定集合元素的从零开始的位置。
) 必填。 表示索引器属性的末尾。

返回值

集合中指定位置的对象,或者 Nothing 索引是否超过范围。

注解

可以使用扩展索引器属性访问集合中的单个元素。 此索引器属性通常用于 XML 轴属性的输出。 XML 子级和 XML 后代轴属性返回对象或属性值的 XElement 集合。

Visual Basic 编译器将扩展索引器属性转换为对方法的 ElementAtOrDefault 调用。 与数组索引器不同,如果索引超过范围,该方法 ElementAtOrDefaultNothing 返回。 当无法轻松确定集合中的元素数时,此行为非常有用。

此索引器属性类似于实现 IEnumerable<T> 的集合的扩展属性,或者 IQueryable<T>:仅当集合没有索引器或默认属性时,才会使用该属性。

若要访问集合或XAttribute对象集合XElement中第一个元素的值,可以使用 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

另请参阅