当我在处理一些代码时,Resharper有一个建议'使用静态Enumberable.FirstOrDefault():
最初代码与此类似:
var myCountry = myCountryRepository.GetByCode(code); // returns IEnumerable of Country
Country country = myCountry.FirstOrDefault();
该建议将最后一行更改为:
Country country = Enumerable.FirstOrDefault(myCountry);
使用静态方法是否有性能提升?
答案 0 :(得分:3)
不,没有性能提升:两个电话完全相同。当你写
Country country = myCountry.FirstOrDefault();
编译器识别出您正在调用扩展方法,并将其静静地转换为:
Country country = Enumerable.FirstOrDefault(myCountry);