5

このコード行があります

var count = materials.Where(i => i.MaterialType1 == MaterialType.Major).Count(); 

どの Resharper に変更するよう促されるか

var count = materials.Count(i => i.MateriakType1 == MaterialType.Major); 

なんで?変更の利点について誰か教えてください。

4

2 に答える 2

5

常に悪い場合、2番目のものは言いません。それは文脈に依存します。

LINQ to Objects の場合は、2 番目のものを使用することをお勧めします。私はそれをテストしなかったので、それは本当に私の推測です。

ただし、このような変更は常に同等であるとは限らないため、注意してください。たとえば、LINQ to Entities を使用した場合、2 番目のものはまったく機能しません。これCountは、述語を使用したオーバーロードがLINQ to Entities でサポートされていないためです。

于 2013-10-21T05:23:16.867 に答える