반복자(iterator)에 대한 C#에서 제공하는 인터페이스 세트 foreach를 사용하기 위한 공통 인터페이스를 제공하는데 IEnumerable 클래스이다. IEnumerable + GetEnumerator GetEnumerator는 IEnumerator를 리턴 값으로 가지게 되는데 이 IEnumerator라는 클래스는 쉽게 말해서 땅바닥에 물건들이 널려있다고 가정할때 물건을 가르키는 손가락 같은 역할을 하게된다. IEnumerator + Current + MoveNext + Reset 3가지의 구현해야하는 공통메소드가 있으며, 현재 시점의 개체와 다음 개체, 그리고 현재의 가리키는 손가락을 처음으로 되돌리는, 3가지 약속된 역할을 하는 메소드가 정의되어 있다. 또한 IEnumator를 리턴값으로 뒀을..