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