[c#] C# 이터레이터와 yield 키워드 차이

이터레이터(Iterator)는 GetEnumerator 및 Current 속성을 구현하여 컬렉션의 멤버를 하나씩 반복하도록 하는 인터페이스입니다.

예를 들어, 리스트의 각 요소를 반복하는 경우에 이터레이터가 사용됩니다.

yield 키워드는 메소드가 호출자에게 컬렉션의 각 요소를 반환하는 데 사용됩니다.

예를 들어, yield를 사용하여 각각의 요소를 반복하는 메소드를 만들 수 있습니다.

두 가지의 주요 차이점은 다음과 같습니다:

  1. 구현 방식:
    • 이터레이터는 GetEnumerator 및 Current 속성을 구현합니다.
    • yield 키워드는 메소드 내에서 각 요소를 반환하도록 합니다.
  2. 사용 목적:
    • 이터레이터는 반복 가능한 컬렉션 자체를 만들 때 사용됩니다.
    • yield는 메소드 내에서 각각의 요소를 반환할 때 사용됩니다.

이터레이터와 yield 키워드는 각각의 고유한 목적과 사용 사례가 있으며, 이를 이해하면 코드를 보다 효율적으로 작성할 수 있습니다.

참고 문헌: