Dictionary<TKey,TValue>.KeyCollection.Enumerator 구조체
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
의 요소를 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
- 상속
- 특성
- 구현
설명
C# 언어의 문(foreachVisual Basic)은 For Each 열거자의 복잡성을 숨깁니다. 따라서 열거자를 직접 조작하는 대신 사용하는 foreach 것이 좋습니다.
열거자는 컬렉션의 데이터를 읽는 데 사용할 수 있지만 기본 컬렉션을 수정하는 데 사용할 수는 없습니다.
처음에는 열거자가 컬렉션의 첫 번째 요소 앞에 배치됩니다. 이 위치에서 Current 정의되지 않습니다. 값을 읽기 Current전에 열거자를 컬렉션의 첫 번째 요소로 이동하도록 호출 MoveNext 해야 합니다.
Current 는 호출될 때까지 MoveNext 동일한 개체를 반환합니다. MoveNext 는 다음 요소로 설정 Current 됩니다.
컬렉션의 끝을 전달하면 MoveNext 열거자가 컬렉션의 마지막 요소 뒤 위치에 배치되고 MoveNext 반환됩니다 false. 열거자가 이 위치에 있으면 후속 호출도 반환MoveNext합니다false. 반환 MoveNextfalse 된 Current 마지막 호출이 정의되지 않은 경우 컬렉션의 첫 번째 요소로 다시 설정할 Current 수 없습니다. 대신 새 열거자 인스턴스를 만들어야 합니다.
컬렉션이 변경되지 않은 상태로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소 추가 또는 용량 변경과 같이 컬렉션이 변경된 경우 열거자는 복구할 수 없게 무효화되고 다음 호출은
.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() |
열거자를 컬렉션의 첫 번째 요소 앞에 있는 초기 위치로 설정합니다. |