我在 Bill Wagners 的书“Effective C#”中读到,人们应该倾向于使用更多声明性的select语句而不是传统的循环(for)。
例如:
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();
作为一个老式程序员,我更喜欢第一个版本。
问题是性能如何?我想第一个版本也更快。