using System;
using System.Linq;

public class 지연된실행
{
    public static void Main()
    {
        int[] data = { 3, 5, 4, 2, 1 };

        var q =
            from d in data orderby d select d;  // q는 쿼리문을 담고 있는 그릇
        foreach (var item in q)
        {
            Console.WriteLine("{0}", item); // 1, 2, 3, 4, 5
        }

        // 중간에 데이터 변경
        data[0] = 1000; // 3 -> 1000으로 값이 바뀌었음

        foreach (var item in q) // 변경된 내용으로 다시 쿼리 실행. 지연된 실행
        {
            Console.WriteLine("{0}", item); // 1, 2, 4, 5, 1000
        }
      
    }

}

/*
q는 결과값을 가지고 있는게 아니라 쿼리식(from d in data orderby d select d;)을 가지고 있다.
*/

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

88. LINQ - 병합  (0) 2009.08.19
87. LINQ - 합계 카운트 평균  (0) 2009.08.19
85. 쿼리식반환값처리  (0) 2009.08.19
84. 표준쿼리연산자  (0) 2009.08.19
83. 쿼리식  (0) 2009.08.19
Posted by holland14
: