XPathNodeIterator.GetEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un oggetto IEnumerator con cui scorrere l'insieme di nodi selezionato.
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
Restituisce
Oggetto IEnumerator con cui scorrere l'insieme di nodi selezionato.
Implementazioni
Commenti
L'enumeratore viene posizionato sulla posizione corrente dell'oggetto XPathNodeIterator .
Esistono due modi per eseguire l'iterazione su una XPathNavigator raccolta usando la XPathNodeIterator classe .
Un modo consiste nell'usare il MoveNext metodo e quindi chiamare Current per ottenere l'istanza corrente XPathNavigator , come nell'esempio seguente:
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
Un altro modo consiste nell'usare un foreach
ciclo per chiamare il metodo e usare l'interfaccia GetEnumerator restituita IEnumerator per enumerare i nodi, come nell'esempio seguente:
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
È consigliabile usare il MoveNext metodo e Current usare il GetEnumerator metodo . La combinazione di questi due approcci può causare risultati imprevisti. Ad esempio, se il metodo viene chiamato prima e quindi il MoveNext GetEnumerator metodo viene chiamato nel foreach
ciclo, il foreach
ciclo non inizierà ad enumerare i risultati dall'inizio della raccolta, ma dalla posizione dopo il Current metodo.