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 的位置開始列舉結果。

適用於

另請參閱