Поделиться через


Свойство-индексатор расширения

Обновлен: Ноябрь 2007

Предоставляет доступ к отдельным элементам в коллекции.

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. Доступ к коллекции осуществляется с помощью свойства дочерней оси, которое возвращает все дочерние элементы с именем phone в объекте contact.

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

См. также

Ссылки

XElement

Свойство значения XML

Другие ресурсы

Свойства оси XML

XML-литералы

Создание XML в Visual Basic