본문 바로가기
DEV/Unity C#

인터페이스 IEnumerator 와 IEnumerable의 차이

by ssapo 2019. 5. 9.
반응형

 

 

반복자(iterator)에 대한 C#에서 제공하는 인터페이스 세트

 

foreach를 사용하기 위한 공통 인터페이스를 제공하는데 IEnumerable 클래스이다.

 

IEnumerable

+ GetEnumerator

 

GetEnumerator는 IEnumerator를 리턴 값으로 가지게 되는데

 

이 IEnumerator라는 클래스는  쉽게 말해서 땅바닥에 물건들이 널려있다고 가정할때

 

물건을 가르키는 손가락 같은 역할을 하게된다. 

 

IEnumerator
Current

+ MoveNext

+ Reset

 

3가지의 구현해야하는 공통메소드가 있으며,

 

현재 시점의 개체와

다음 개체,

그리고 현재의 가리키는 손가락을 처음으로 되돌리는,

 

3가지 약속된 역할을 하는 메소드가 정의되어 있다.

또한 IEnumator를 리턴값으로 뒀을때에는 yield 문법을 사용하여 리턴을 해야한다.

 

 

반응형