Dictionary<TKey,TValue>.KeyCollection.Enumerator 구조체

정의

의 요소를 Dictionary<TKey,TValue>.KeyCollection열거합니다.

public: value class Dictionary<TKey, TValue>::KeyCollection::Enumerator : System::Collections::Generic::IEnumerator<TKey>
public struct Dictionary<TKey,TValue>.KeyCollection.Enumerator : System.Collections.Generic.IEnumerator<TKey>
[System.Serializable]
public struct Dictionary<TKey,TValue>.KeyCollection.Enumerator : System.Collections.Generic.IEnumerator<TKey>
type Dictionary<'Key, 'Value>.KeyCollection.Enumerator = struct
    interface IEnumerator<'Key>
    interface IEnumerator
    interface IDisposable
[<System.Serializable>]
type Dictionary<'Key, 'Value>.KeyCollection.Enumerator = struct
    interface IEnumerator<'Key>
    interface IDisposable
    interface IEnumerator
Public Structure Dictionary(Of TKey, TValue).KeyCollection.Enumerator
Implements IEnumerator(Of TKey)

형식 매개 변수

TKey
TValue
상속
Dictionary<TKey,TValue>.KeyCollection.Enumerator
특성
구현

설명

C# 언어의 문(foreachVisual Basic)은 For Each 열거자의 복잡성을 숨깁니다. 따라서 열거자를 직접 조작하는 대신 사용하는 foreach 것이 좋습니다.

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

처음에는 열거자가 컬렉션의 첫 번째 요소 앞에 배치됩니다. 이 위치에서 Current 정의되지 않습니다. 값을 읽기 Current전에 열거자를 컬렉션의 첫 번째 요소로 이동하도록 호출 MoveNext 해야 합니다.

Current 는 호출될 때까지 MoveNext 동일한 개체를 반환합니다. MoveNext 는 다음 요소로 설정 Current 됩니다.

컬렉션의 끝을 전달하면 MoveNext 열거자가 컬렉션의 마지막 요소 뒤 위치에 배치되고 MoveNext 반환됩니다 false. 열거자가 이 위치에 있으면 후속 호출도 반환MoveNext합니다false. 반환 MoveNextfalseCurrent 마지막 호출이 정의되지 않은 경우 컬렉션의 첫 번째 요소로 다시 설정할 Current 수 없습니다. 대신 새 열거자 인스턴스를 만들어야 합니다.

컬렉션이 변경되지 않은 상태로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소 추가 또는 용량 변경과 같이 컬렉션이 변경된 경우 열거자는 복구할 수 없게 무효화되고 다음 호출은 />를 호출하거나 throw합니다.

.NET Core 3.0 이상만 해당: 열거자를 무효화하지 않는 유일한 변경 메서드는 다음과 Remove같습니다Clear.

열거자는 컬렉션에 대한 단독 액세스 권한이 없습니다. 따라서 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 열거 중 스레드 안전을 보장하기 위해 전체 열거형 중에 컬렉션을 잠글 수 있습니다. 읽기 및 쓰기를 위해 여러 스레드에서 컬렉션에 액세스할 수 있도록 하려면 고유한 동기화를 구현해야 합니다.

컬렉션의 기본 구현은 System.Collections.Generic 동기화되지 않습니다.

속성

Name Description
Current

열거자의 현재 위치에 있는 요소를 가져옵니다.

메서드

Name Description
Dispose()

에서 사용하는 모든 리소스를 Dictionary<TKey,TValue>.KeyCollection.Enumerator해제합니다.

MoveNext()

열거자를 다음 요소로 진행합니다 Dictionary<TKey,TValue>.KeyCollection.

명시적 인터페이스 구현

Name Description
IEnumerator.Current

열거자의 현재 위치에 있는 요소를 가져옵니다.

IEnumerator.Reset()

열거자를 컬렉션의 첫 번째 요소 앞에 있는 초기 위치로 설정합니다.

적용 대상

추가 정보