다음을 통해 공유


Vector3DKeyFrameCollection.GetEnumerator 메서드

정의

컬렉션을 반복할 수 있는 열거자를 반환합니다.

public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

반환

IEnumerator

컬렉션을 반복할 수 있는 IEnumerator입니다.

구현

설명

열거자는 컬렉션의 데이터 읽기를 허용 합니다. 내부 컬렉션을 수정 하 여 열거자를 사용할 수 없습니다.

처음에 열거자가 컬렉션의 첫 번째 항목 앞에 배치 됩니다. Reset을 실행하면 열거자가 이 위치로 복원됩니다. 이 위치에서, 호출 Current 예외를 throw 합니다. 따라서 호출 해야 합니다 MoveNext 하 여 열거자의 값을 읽기 전에 컬렉션의 첫 번째 항목으로 Current입니다.

Current에서는 MoveNext 또는 Reset이 호출될 때까지 동일한 개체를 반환합니다. MoveNext 설정 Current 다음 항목으로 합니다.

열거자가 컬렉션의 마지막 항목 뒤에 배치 하 고 호출 컬렉션의 끝을 지나면 MoveNext 반환 false합니다. 마지막으로 호출 하는 경우 MoveNext 반환 false호출, Current 예외를 throw 합니다. 설정할 Current 를 다시 컬렉션의 첫 번째 항목에 호출할 수 있습니다 Reset 뒤에 MoveNext입니다.

컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 컬렉션 변경 되 면 예: 추가, 수정 또는 삭제 항목 열거자는 무효화 하 고을 다음에 호출할 MoveNext 하거나 Reset throw는 InvalidOperationException합니다. 컬렉션 사이 수정 된 경우 MoveNext 하 고 Current, Current 열거자가 이미 무효화 된 경우에로 설정 되어 있는 항목을 반환 합니다.

열거자는 컬렉션에 배타적으로 액세스하지 못하므로 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 컬렉션이 동기화 된 경우 다른 스레드 수 수정할 하면 열거자가 예외를 throw 하는 컬렉션입니다. 열거하는 동안 스레드로부터 안전을 보장하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.

적용 대상