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