Enumerable.Select
射影って表現がいまいちピントこない。。。
//1〜10までのシーケンスを生成 IEnumerable<int> numbers = Enumerable.Range(1, 10); //リスト値をx + xに射影 //1は(1+1)で2に射影される //2は(2+2)で4に射影される //3は(3+3)で6に射影される IEnumerable<int> adds = numbers.Select(x => x + x); //リスト値をx * xに射影 //1は(1*1)で1に射影される //2は(2*2)で4に射影される //3は(3*3)で9に射影される IEnumerable<int> square = numbers.Select(x => x * x); Console.WriteLine("足し算の射影結果:"); foreach (int num in adds) { Console.WriteLine(num); } Console.WriteLine("掛け算の射影結果:"); foreach (int num in square) { Console.WriteLine(num); }
結果
足し算の射影結果: 2 4 6 8 10 12 14 16 18 20 掛け算の射影結果: 1 4 9 16 25 36 49 64 81 100