我正在从一本MVC书籍中学习一些LINQ示例,并且我想知道下面的select调用可能有什么目的。也许这是一个打字错误,但我在书的勘误表中没有看到任何提到它的地方。
foreach( Product p in products
.Where( e => e.Name == productParam.Name )
.Select( e => e ) ) {
p.Price = productParam.Price;
}
我测试了两个例子,一个包含了 .Select( e => e),另一个不包含,但代码是一样的。由于 Where 返回 IEnumerable 的过滤结果,那么何时需要使用带有上述特定谓词的 select 调用呢?它实际上是否起到作用?在某些奇怪的边缘情况下可能会吗?
Force
扩展,因为有很多时候必须强制评估IQuerable/IEnumerable,即使你并不真正对列表感兴趣。这个名称也会更明显地显示所需的操作。 - user166390