XPathNodeIterator.GetEnumerator Metódus

Definíció

Egy objektumot ad IEnumerator vissza, amely a kijelölt csomópontkészleten halad át.

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

Válaszok

Egy IEnumerator objektum, amely a kijelölt csomópontkészleten keresztül iterál.

Megvalósítás

Megjegyzések

Az enumerátor az objektum aktuális pozícióján XPathNodeIterator van elhelyezve.

Az osztály használatával XPathNavigator kétféleképpen lehet iterálni egy XPathNodeIterator gyűjteményt.

Ennek egyik módja a MoveNext metódus használata, majd az aktuális Current példány lekéréseXPathNavigator, ahogyan az alábbi példában is látható:

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

Egy másik módszer a foreach metódus meghívása GetEnumerator és a visszaadott IEnumerator felület használata a csomópontok számbavételére, ahogyan az alábbi példában is látható:

foreach (XPathNavigator n in nodeIterator)
    Console.WriteLine(n.LocalName);
For Each n As XPathNavigator In nodeIterator
    Console.WriteLine(nav.LocalName)
Next

Vagy használja a metódust MoveNext , Current vagy használja a metódust GetEnumerator . A két módszer kombinálása váratlan eredményeket okozhat. Ha például a MoveNext metódust hívják meg először, majd a GetEnumerator metódust meghívja a foreach hurokban, a foreach ciklus nem a gyűjtemény elejétől, hanem a metódus utáni Current pozícióból kezdi meg az eredmények számbavételét.

A következőre érvényes:

Lásd még