2010年1月12日火曜日

配列を定義してLINQ(Languate Integrated Query)で配列のデータを取得し、遅延実行(deferred execution)の機能を、indexの要素を入れ替えてからforeachループで出力して確認してみる。

using System;
using System.Linq;


class MainClass
{
    static void Main()
    {
        var array1 = new int[10];


        // array1に要素を代入
        for (int i = 0; i < 10; i++)
        {
            array1[i] = i + 1;
        }


        // array1の要素をLinqで取得
        var array2 = from n in array1 select n;


        // Output:1 2 3 4 5 6 7 8 9
        foreach (var n in array2)
        {
            Console.Write("{0} ", n);
        }
        Console.WriteLine();


        // array1のindex0とindex1の要素を入れ替える
        var tmp = array1[0];
        array1[0] = array1[1];
        array1[1] = tmp;


        /* 遅延実行(deferred execution)の
         * 機能によりarray2もindex0とindex1
         * の要素が入れ替わることを確認 */
        foreach (var n in array2)
        {
            Console.Write("{0} ", n);
        }
        Console.WriteLine();
    }
}

0 コメント:

コメントを投稿