[c#] C# yield return 문

이 문은 호출자에게 컬렉션의 각 항목을 하나씩 반환하고 메서드 실행 상태를 유지하는 데 사용됩니다. 이러한 기능은 대규모 데이터 집합이나 연속적인 데이터 시퀀스를 다룰 때 특히 유용합니다.

yield return 문은 반복자(Iterator)로 작동하여 호출자가 요청할 때마다 한 번에 하나의 항목을 반환합니다.

아래는 yield return 문을 사용한 간단한 예제입니다.

public IEnumerable<int> GetNumbers()
{
    yield return 1;
    yield return 2;
    yield return 3;
}

이 경우 GetNumbers 메서드는 호출자에게 1, 2, 3이라는 세 개의 숫자를 갖는 컬렉션을 반환합니다.

yield return은 메서드 내에서 반복자로 동작하도록 하며, 호출자가 컬렉션에 대한 반복 작업을 수행할 때마다 상태가 유지됩니다.

이를 통해 메모리를 효율적으로 활용할 수 있으며, 대규모 데이터를 처리할 때 성능을 향상시킬 수 있습니다.

참고 문헌:

  1. Microsoft Docs. “yield (C# Reference).” https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield.

  2. C# 핵심 프로그래밍. “7장. 반복자와 yield 문.” 예제로 배우는 C# 프로그래밍. 한빛미디어, 2016, pp. 179-206.