Бөлісу құралы:


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

Объект IEnumerator для итерации по выбранному набору узлов.

Реализации

Комментарии

Перечислитель располагается в текущей XPathNodeIterator позиции объекта.

Существует два способа перебора XPathNavigator коллекции с помощью XPathNodeIterator класса.

Один из способов — использовать MoveNext метод, а затем вызвать Current для получения текущего XPathNavigator экземпляра, как показано в следующем примере:

while (nodeIterator->MoveNext())
{
    XPathNavigator^ n = nodeIterator->Current;
Console::WriteLine(n->LocalName);
}
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 интерфейс для перечисления узлов, как показано в следующем примере:

for each (XPathNavigator^ n in nodeIterator)
Console::WriteLine(n->LocalName);
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 метода.

Применяется к

См. также раздел