我有这行代码
var count = materials.Where(i => i.MaterialType1 == MaterialType.Major).Count();
Run Code Online (Sandbox Code Playgroud)
Resharper促使我改为
var count = materials.Count(i => i.MateriakType1 == MaterialType.Major);
Run Code Online (Sandbox Code Playgroud)
为什么?任何人都可以告诉我改变的好处是什么?
如果总是更糟,我不会说第二个.这取决于背景.
对于LINQ to Objects,最好使用第二个,因为它假设更快.我没有测试过,所以这只是我的猜测.
但是,要小心这样的更改,因为它们并不总是等效的.例如,如果你使用LINQ to Entities,那么第二个就根本不起作用!这是因为LINQ to EntitiesCount不支持带谓词的重载.
| 归档时间: |
|
| 查看次数: |
605 次 |
| 最近记录: |