2009.03.06 01:48

MSDN 의 내용을 발췌했습니다.

ㅡㅡ'


iterator
블록에서열거자개체에값을제공하거나반복이끝났음을알리기위해사용됩니다. 다음과같은형식중하나를사용합니다.
yield return expression;
yield break;
매개변수
expression
열거자개체에대한값으로계산되어반환됩니다. expression은반복기의 yield 형식으로암시적으로변환될수있어야합니다.
설명
yield문은 iterator 블록내에만포함될수있으며메서드, 연산자또는접근자의본문으로사용할수있습니다. 이러한메서드, 연산자또는접근자의본문에는다음제한사항이적용됩니다.
·         안전하지않은블록은사용할수없습니다.
·         메서드, 연산자또는접근자에대한매개변수는 ref 또는 out일수없습니다.
무명메서드에는 yield 문을사용할수없습니다. 자세한내용은 무명메서드(C# 프로그래밍가이드)를참조하십시오.
expression과함께사용할경우, catch 블록이나 catch 절이하나이상포함된 try 블록에는 yield return 문을포함할수없습니다. 자세한내용은 예외처리문(C# 참조)을참조하십시오.
예제
다음예제에서 yield 문은반복기블록인Power(int number, int power)메서드내에서사용됩니다. Power 메서드가호출되면숫자의거듭제곱이들어있는열거가능한개체가반환됩니다. Power 메서드의반환형식은반복기인터페이스형식인 IEnumerable입니다.
// yield-example.cs
using System;
using System.Collections;
public class List
{
    public static IEnumerable Power(int number, int exponent)
    {
        int counter = 0;
        int result = 1;
        while (counter++ < exponent)
        {
            result = result * number;
            yield return result;
        }
    }
 
    static void Main()
    {
        // Display powers of 2 up to the exponent 8:
        foreach (int i in Power(2, 8))
        {
            Console.Write("{0} ", i);
        }
    }
}
출력
2 4 8 16 32 64 128 256



행복한 고수되십시요...



woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\












저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

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

[C#] How do you check if a file is in use?  (0) 2017.07.27
[C#] 단일 Process 실행  (2) 2010.11.08
[C#] C# 은 VB.NET 따라쟁이...  (3) 2009.05.07
[C#] C# 컴파일러 오류  (0) 2009.03.06
[C#] 요것 한번 보시죠... VB.NET 에는 없어요. ^^'  (0) 2009.03.06
[C#] Yield  (0) 2009.03.06
Posted by woojja
TAG