더북(TheBook)

IEnumerable<T>의 MoveNext( ) 메서드와 Current 속성

IEnumerable<T> 형태는 내부적으로 MoveNext() 메서드와 Current 속성을 함께 사용합니다. 다음 내용을 C# 인터렉티브에서 순서대로 실행해 보세요.

 

1.   정수 데이터 3개를 반환하는 GetNumbers() 함수를 생성합니다.

> IEnumerable<int> GetNumbers()
. {
.     yield return 1;
.     yield return 3;
.     yield return 5;
. }

2.   GetEnumerator() 메서드의 결괏값을 nums 변수에 담고 전체를 출력해 보면 데이터가 3개 표시됩니다.

> var nums = GetNumbers().GetEnumerator();
> nums
GetNumbers { 1, 3, 5 }

3.   MoveNext() 메서드를 호출하면 데이터를 하나씩 선택한 후 Current 속성으로 현재 값을 가져옵니다.

> nums.MoveNext();
> nums.Current
1
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.