문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Dictionary<TKey, TValue>.IEnumerable<KeyValuePair<TKey, TValue>>.GetEnumerator 메서드

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

네임스페이스:  System.Collections.Generic
어셈블리:  mscorlib(mscorlib.dll)

IEnumerator<KeyValuePair<TKey, TValue>> IEnumerable<KeyValuePair<TKey, TValue>>.GetEnumerator()

반환 값

형식: System.Collections.Generic.IEnumerator<KeyValuePair<TKey, TValue>>
컬렉션에서 반복하는 데 사용할 수 있는 IEnumerator입니다.

구현

IEnumerable<T>.GetEnumerator()

열거에 사용될 경우 각 항목은 값과 키를 나타내는 KeyValuePair<TKey, TValue> 구조체입니다.

C# 언어의 foreach 문(C++의 경우 for each, Visual Basic의 경우 For Each)은 열거자를 덜 복잡하게 표시합니다. 따라서 열거자를 직접 조작하는 것보다는 foreach를 사용하는 것이 좋습니다.

열거자는 컬렉션에 있는 데이터를 읽는 데 사용할 수 있지만 내부 컬렉션을 수정하는 데에는 사용할 수 없습니다.

초기에 열거자는 컬렉션의 첫 번째 요소 앞에 위치합니다. Reset 메서드는 또한 열거자를 이 위치로 다시 가져옵니다. 이 위치에서 Current 속성은 정의되지 않습니다. 따라서 Current의 값을 읽기 전에 MoveNext 메서드를 호출하여 열거자를 해당 컬렉션의 첫 번째 요소로 보내야 합니다.

참고참고:

이 속성에서 반환된 열거자가 첫 번째 요소의 앞이나 마지막 요소의 뒤에 있고 Current 속성에 액세스하는 경우 이 열거자는 성능 향상을 위해 예외를 throw하지 않습니다. 이때 Current 속성의 값은 정의되지 않습니다.

Current 속성은 MoveNext 혹은 Reset 메서드가 호출될 때까지 동일한 요소를 반환합니다. MoveNext Current를 다음 요소로 설정합니다.

MoveNext 가 컬렉션의 끝을 지나게 되면 열거자는 컬렉션의 마지막 요소 뒤에 배치되고, MoveNextfalse를 반환합니다. 열거자가 이 위치에 있는 경우 MoveNext에 대한 후속 호출 또한 false를 반환합니다. MoveNext 에 대한 마지막 호출에서 false가 반환된 경우 Current는 정의되지 않습니다. Current 를 해당 컬렉션의 첫 번째 요소로 다시 설정하려면 Reset을 호출한 다음 MoveNext를 호출하면 됩니다.

컬렉션이 변경되지 않는 한 열거자는 계속 유효합니다. 요소를 추가하거나 수정하거나 삭제하는 경우와 같이 컬렉션이 변경되는 경우 열거자는 복구 불능의 무효 상태가 되고 해당 동작이 정의되지 않습니다.

열거자는 컬렉션에 독점적으로 액세스할 수 있는 권한이 없으므로 컬렉션을 열거하는 프로시저는 기본적으로 스레드로부터 안전하지 않습니다. 열거하는 동안 스레드로부터 안전하게 보호하려면 열거하는 동안 컬렉션을 잠글 수 있습니다. 여러 스레드에서 컬렉션에 액세스하여 읽고 쓸 수 있도록 허용하려면 사용자 지정 동기화를 구현해야 합니다.

System.Collections.Generic 네임스페이스에서 컬렉션의 기본 구현은 동기화되지 않습니다.

이 메서드는 O(1) 연산입니다.

Silverlight

5, 4, 3에서 지원

Windows Phone용 Silverlight

Windows Phone OS 7.1, Windows Phone OS 7.0에서 지원

XNA Framework

Xbox 360, Windows Phone OS 7.0에서 지원

Silverlight에서 지원되는 운영 체제 및 브라우저에 대한 자세한 내용은 지원되는 운영 체제 및 브라우저을 참조하십시오.

커뮤니티 추가 항목

추가
표시: