我正在阅读一本关于MVC的书中的一些LINQ示例,我想知道下面的选择调用有什么用途.也许这是一个错字,但我在书的勘误表中没有看到任何提及它.
foreach( Product p in products
.Where( e => e.Name == productParam.Name )
.Select( e => e ) ) {
p.Price = productParam.Price;
}
Run Code Online (Sandbox Code Playgroud)
我测试了两个这样的例子,其中包括.Select(e => e)和一个不包含的内容,代码是相同的.由于Where返回由谓词过滤的IEnumerable,那么何时需要select调用(具有上面的特定谓词)?它真的做了什么吗?它可以在一些奇怪的角落里吗?
Dan*_*mms 10
如果没有它,它将返回完全相同的东西,a IEnumerable<T>.它实际上弊大于利,因为它正在执行冗余的O(n)操作(循环遍历整个列表).
参考
| 归档时间: |
|
| 查看次数: |
8996 次 |
| 最近记录: |