Sdílet prostřednictvím


XPathNodeIterator.GetEnumerator Metoda

Definice

IEnumerator Vrátí objekt, který se má iterovat přes vybranou sadu uzlů.

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

Návraty

IEnumerator

Objekt IEnumerator , který se má iterovat přes vybranou sadu uzlů.

Implementuje

Poznámky

Enumerátor je umístěn na aktuální pozici objektu XPathNodeIterator .

Existují dva způsoby, jak iterovat kolekci XPathNavigator pomocí XPathNodeIterator třídy.

Jedním ze způsobů je použít metodu MoveNext a pak volat Current k získání aktuální XPathNavigator instance, jako v následujícím příkladu:

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

Dalším způsobem je použití foreach smyčky k volání GetEnumerator metody a použití vráceného IEnumerator rozhraní k vytvoření výčtu uzlů, jako v následujícím příkladu:

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

Tuto metodu MoveNext Current byste měli použít nebo ji GetEnumerator použít. Kombinace těchto dvou přístupů může způsobit neočekávané výsledky. Například pokud MoveNext je metoda volána jako první a metoda GetEnumerator je volána ve foreach smyčce, foreach smyčka nezačne výčet výsledků od začátku kolekce, ale z pozice za metodou Current .

Platí pro

Viz také