XPathNodeIterator.GetEnumerator Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект для IEnumerator итерации по выбранному набору узлов.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public virtual System.Collections.IEnumerator GetEnumerator();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Overridable Function GetEnumerator () As IEnumerator
Возвращаемое значение
Объект IEnumerator для итерации по выбранному набору узлов.
Реализации
Комментарии
Перечислитель размещается в текущей XPathNodeIterator позиции объекта.
Существует два способа итерации по XPathNavigator коллекции с помощью XPathNodeIterator класса.
Одним из способов MoveNext является использование метода, а затем вызов Current для получения текущего XPathNavigator экземпляра, как показано в следующем примере:
while (nodeIterator.MoveNext())
{
XPathNavigator n = nodeIterator.Current;
Console.WriteLine(n.LocalName);
}
While nodeIterator.MoveNext()
Dim n As XPathNavigator = nodeIterator.Current
Console.WriteLine(n.LocalName)
End While
Другим способом foreach является использование цикла для вызова GetEnumerator метода и использования возвращаемого IEnumerator интерфейса для перечисления узлов, как показано в следующем примере:
foreach (XPathNavigator n in nodeIterator)
Console.WriteLine(n.LocalName);
For Each n As XPathNavigator In nodeIterator
Console.WriteLine(nav.LocalName)
Next
Метод следует использовать MoveNext или Current использовать этот GetEnumerator метод. Объединение этих двух подходов может привести к непредвиденным результатам. Например, если MoveNext метод вызывается сначала, а затем GetEnumerator вызывается метод в foreach цикле, foreach цикл не начнет перечислять результаты из начала коллекции, а от позиции после Current метода.