IEnumerable과 IEnumerator는 모두 C#의 인터페이스입니다.
IEnumerable은 IEnumerator 인터페이스를 반환하는 단일 메서드 GetEnumerator()를 정의하는 인터페이스입니다.
이것은 IEnumerable을 foreach 문과 함께 사용할 수 있다는 것을 구현하는 컬렉션에 대한 읽기 전용 액세스에 대해 작동합니다.
IEnumerator에는 MoveNext와 Reset의 두 가지 메서드가 있습니다. 또한 Current라는 속성도 있습니다.
다음은 IEnumerable 및 IEnumerator의 구현을 보여줍니다.
예
class Demo : IEnumerable, IEnumerator { // IEnumerable method GetEnumerator() IEnumerator IEnumerable.GetEnumerator() { throw new NotImplementedException(); } public object Current { get { throw new NotImplementedException(); } } // IEnumertor method public bool MoveNext() { throw new NotImplementedException(); } // IEnumertor method public void Reset() { throw new NotImplementedException(); } }
위에서 IEnumerator의 두 가지 방법을 볼 수 있습니다.
// IEnumertor method public bool MoveNext() { throw new NotImplementedException(); } // IEnumertor method public void Reset() { throw new NotImplementedException(); }