본문 바로가기

Programming Language/C#

[C#] yield 키워드 : 큰 데이터의 집합을 다룰 수 있다

  • **yield** 키워드는 메서드를 일시 중단하고, 호출자(caller)에게 컬렉션 데이터를 하나씩 리턴 할 때 사용한다.
  • Enumerator 라고 불리는 이러한 기능은 집합적인(Enum) 데이터셋으로 부터 데이터를 하나씩 호출자에게 보내주는 역할을 한다.
  • 이를 통해 메모리를 효율적으로 사용하면서 큰 데이터 집합을 다룰 수 있다.
  • yield 키워드를 사용하는 메서드는 반드시 반환 형식이 **IEnumerble<T>** 또는 IEnumerble 이어야 한다.
  • 매서드 내에서 yield return 을 사용하여 값을 생성하고 호출자에게 반환한다.
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        foreach (var number in GenerateNumbers())
        {
            Console.WriteLine(number);
        }
    }

    static IEnumerable<int> GenerateNumbers()
    {
        for (int i = 0; i < 10; i++)
        {
            yield return i;
        }
    }
}

'Programming Language > C#' 카테고리의 다른 글

[C#] 네임스페이스  (0) 2023.12.27
[C#] 예외처리(Exception) [ try, catch, finally ]  (0) 2023.12.27
[C#] 반복문(Loop)  (0) 2023.12.27
[C#] 조건문(Conditional Statement)  (0) 2023.12.27
[C#] 연산자  (0) 2023.12.27