Bill Wagners Book "Effective C#" で、従来のループ ( for ) よりも宣言的なselectステートメントを優先する必要があることを読みました。
例えば:
int[] foo = new int[1000];
for (int i = 0; i < foo.Length; i++)
foo[i] = i * i;
は従来の命令型コードですが、これは宣言型の Linq コードになります。
int[] foo2 = (from i in Enumerable.Range(0, 1000)
select i * i).ToArray();
昔ながらのプログラマーなので、最初のバージョンの方が好きです。
問題は、パフォーマンスはどうですか?最初のバージョンも速いと思います。