XPathNodeIterator.GetEnumerator 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
선택된 노드 집합을 반복하는 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 개체입니다.
구현
설명
열거자는 개체의 현재 위치에 배치됩니다 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 의 위치에서 결과를 열거하기 시작하지 않습니다.