특정 유형의 foreach 루프 사용하기

IEnumerable 인터페이스와 유사하지만 강력한 형식이다.

특정 유형의 foreach 루프를 사용하여 클래스를 열거할 수 있도록 이 인터페이스를 구현한다.

public class MyEnumerable<T> : IEnumerable<T>
{
    private List<T> data;

    public MyEnumerable(List<T> data)
    {
        this.data = data;
    }

    public IEnumerator<T> GetEnumerator()
    {
        return data.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }
}

이 예에서 MyEnumerable<T> 클래스는 IEnumerable<T> 인터페이스를 구현하여 데이터를 특정 유형

으로 열거할 수 있도록 합니다.

GetEnumerator 메서드는 컬렉션에 대한 열거자를 반환합니다.