[c#] C# yield 키워드
C#에서 yield
키워드는 반복자(iterator)를 생성하는데 사용됩니다. 이를 통해 메서드가 호출자에게 하나씩 값을 반환하면서 각 반환값에 대해 일시 중지하고 재개할 수 있는 기능을 제공합니다.
yield return 문
yield return
문은 현재 메서드 호출에 대한 일시 중지 지점을 나타내며, 호출자에게 값을 반환합니다. 메서드가 나중에 재개되면, 이전에 중지된 지점에서 실행을 계속합니다.
아래는 yield return
을 사용하여 짝수 값을 반환하는 간단한 예제코드입니다.
public IEnumerable<int> GetEvenNumbers(int n)
{
for (int i = 0; i <= n; i++)
{
if (i % 2 == 0)
{
yield return i;
}
}
}
yield break 문
yield break
문은 반복을 중지하고 호출자에게 현재 메서드를 종료할 것을 나타냅니다.
public IEnumerable<int> GetNumbers(int n)
{
for (int i = 0; i <= n; i++)
{
if (i == 5)
{
yield break;
}
yield return i;
}
}
이 예제를 통해 반복문이 5일때 yield break
로 반복이 중단되고 메서드가 종료된다는 것을 알 수 있습니다.
yield
키워드를 사용하여 메모리 사용을 최적화하고 코드를 더 간결하게 작성할 수 있습니다.
참고 자료: Microsoft Docs - yield (C# Reference)