Note ≡ 이터레이터를 사용한 피보나치 수열 출력
다음 코드는 이터레이터를 사용하여 피보나치 수열을 7개 정도 출력합니다.
> static IEnumerable<int> GetFibonacci() . { . int current = 1; . int next = 1; . yield return current; . while (true) . { . int temp = current + next; . current = next; . next = temp; . yield return current; . } . } > int count = 7; > int i = 0; > foreach (var f in GetFibonacci()) . { . Console.WriteLine(f); . if (++i > count) . { . break; . } . } 1 1 2 3 5 8 13 21
인덱서와 반복기는 클래스의 인스턴스인 개체에 컬렉션 개념을 도입했습니다. 개체에 배열처럼 인덱스로 값을 저장하고, 개체 값을 foreach 문으로 하나씩 가져다 사용할 수 있어 편리합니다.
주석
1 C#만 보면 반복기가 맞지만, 현업에서는 이터레이터 단어 그대로 쓰는 경향이 있어 용어에 익숙해질 수 있게 혼용해서 사용하겠습니다.