Programming/.NET

yield는 반복구문안에서 return이나 break에 붙여 쓸 수 있는 예약어입니다.

 

yield return은 처음 yield return이 실행된 코드를 기억했다가 다음번 재호출시 다음 yield return다음의 코드부터 실행하는 특징을 가지고 있습니다.

 

static void Main(string[] args)
{
    foreach (int i in TestYield())
        Console.WriteLine(i.ToString());

    Console.Read();
}

static IEnumerable<intTestYield()
{
    yield return 10;
    yield return 20;
    yield return 30;
}

 

처음 TestYield 실행시 10이 반환됐다가 다시 TestYield가 호출되면 20이 반환되고 또 다시 호출되면 30이 반환됩니다. 마지막으로 yield return이 실행됐던 바로 다음코드부터 실행되기 때문입니다.

 

yield break는 열거를 중지하는 역활을 수행합니다.

 

static IEnumerable<intTestYield()
{
    yield return 10;
    yield break;
    yield return 30;
}

'Programming > .NET' 카테고리의 다른 글

[C#] null 조건  (0) 2019.04.16
[ASP.NET] 인증및 접근제어와 로그인  (0) 2019.04.11
[C#] yield  (0) 2019.04.02
[C#] params  (0) 2019.03.19
[C#] HttpWebRequest / HttpWebResponse / WebClient  (0) 2019.03.12
[C#] 시프트(Shift) 연산자  (0) 2019.03.05
0 0