[c#] C# yield 식과 식본체

C#에서 yield 키워드는 메서드나 get 접근자 내에 사용되어 컬렉션을 간편하게 만들어주는 기능을 제공합니다. 이 기능을 사용하면 메모리를 효율적으로 사용할 수 있고, 코드를 간결하게 작성할 수 있습니다. 이번 글에서는 C#에서 yield 식과 식본체에 대해 자세히 살펴보겠습니다.

yield

yield 식은 yield returnyield break 문으로 구성됩니다. yield return은 현재의 상태를 반환하고, 다음에 호출되었을 때 다시 실행을 계속할 위치를 유지합니다. yield break는 현재의 계산을 중단하고, 호출자에게 컨트롤을 반환합니다.

public IEnumerable<int> GenerateSequence()
{
    for (int i = 0; i < 5; i++)
    {
        yield return i;
    }
}

위의 예시는 GenerateSequence 메서드가 IEnumerable<int>를 반환하고, 내부에서 yield return을 사용하여 0부터 4까지의 값들을 차례로 반환합니다.

yield 식본체

yield 식본체는 yield 식과 비슷하지만, 메서드나 get 접근자 내부에서만 사용할 수 있습니다. yield 식본체를 사용하면 복잡한 반복 코드를 간결하게 작성할 수 있습니다.

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

위의 예시는 GetNumbers 메서드가 IEnumerable<int>를 반환하고, 내부에서 yield return을 사용하여 1, 2, 3 숫자를 차례로 반환합니다.

yield 식과 식본체를 사용하면 컬렉션을 다루는 코드를 간결하게 작성할 수 있으며, 메모리를 효율적으로 사용할 수 있습니다.

결론

이제 C#에서 yield 식과 식본체에 대해 알아보았습니다. 이를 통해 컬렉션을 다루는 코드를 작성할 때 효율적이고 간결하게 작성할 수 있음을 알 수 있습니다.

참고 자료:

원문 링크: C# Yield Statement and Yield Block