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

+ Recent posts