ash*_*999 1 linq performance lambda
我喜欢匿名的lambdas; 它们让您简明扼要地表达列表中的复杂选择.LINQ做了类似的事情,所以我想我会尝试一下(最后).
作为经常使用lambdas选择集合子集的人,我何时应该使用LINQ?何时应该使用lambdas?有这样一个问题,表现出10-100倍的性能差异.
LINQ评估被推迟.表达式primes和numbers.Where(n => isOddAndNotDivisibleBy(n))编译器相同.在这两种情况下,isOddAndNotDivisibleBy在某些事情评估表达式的结果之前,永远不会调用它.在这种情况下,ToArray中间c和b强制评估.如果你在a和之间添加ToArray b,你会得到相似的时间.
为了比较你可以尝试:
var primes = (
from n in numbers
where isOddAndNotDivisibleBy(n)
select n).ToArray();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
494 次 |
| 最近记录: |