1. IEnumerable
IEnumerable 인터페이스의 목적은 foreach 구문을 사용할 수 있게 하는 것이다.
컬렉션 객체를 사용할때 포함된 원소들에 대해서 반복 작업을 편하게 할 수 있게 해준다.
C#의 컬랙션 객체들은 기본적으로 IEnumerable 인터페이스를 구현하고 있다.
정의된 함수는 GetEnumerator() 이다.
1 2 3 | public interface IEnumerable { IEnumerator GetEnumerator( ); } | cs |
2. IEnumerator
내부적으로 몇번째 원소까지 데이터를 읽었는지 기억하는 '커서'와 원소 집합에 대한 레퍼런스를 가지고 있어야 한다.
속성과 메소드가 호출될 때 마다 커서를 변경해서 알맞는 원소를 반환하도록 구현되어야 한다.
1 2 3 4 5 | public interface IEnumerator { object Current { get; } bool MoveNext( ); void Reset( ); } | cs |
'개발 > C#' 카테고리의 다른 글
구조체(struct) vs 클래스(class) (0) | 2018.03.14 |
---|---|
abstract vs virtual (0) | 2018.03.09 |
static 정적멤버 / 정적클래스 (0) | 2018.03.01 |
const vs readonly (0) | 2018.02.08 |
Interface 란? (0) | 2018.01.29 |