프로그래밍언어/C#

C#) 열거자와 반복자 / IEnumerator, IEnumerator<T>,GetEnumerator

HJH0825 2020. 3. 30. 09:16

열거자와 반복자

값들의 순차열으 반복하는 읽기 전용 커서이다. 구체적으로

System.Collections.IEnumerator

System.Collections.Generic.IEnumerator<T>

두가지 인터페이스 하나를 구현하는 객체이다

 

Foreach문은 열거 가능객체를 반복한다.

열거 가능 객체는 순차열의 논리적 표현이다. 다음 조건 하나를 만족하는 객체는 열거 가능객체로 간주된다.

  1. IEnumerator IEnumerable<T> 구현한다.

  2. 열거자를 돌려주는, GetEnumerator라는 메서드가 있다.

 

foreach문으로 훑는 예이다.

foreach없이 저수준으로 읽는 방법이다. 

열거자가 IDisposable 구현하는 경우, foreach문은 using문으로도 작용한다. , 반복이 끝나면 열거자 객체가 암묵적으로 처분된다.