最好在对象的方法上使用静态Enumerable FirstOrDefault?

时间:2014-10-30 14:57:31

标签: c# .net performance linq

当我在处理一些代码时,Resharper有一个建议'使用静态Enumberable.FirstOrDefault():

最初代码与此类似:

var myCountry = myCountryRepository.GetByCode(code); // returns IEnumerable of Country
Country country = myCountry.FirstOrDefault();

该建议将最后一行更改为:

Country country = Enumerable.FirstOrDefault(myCountry);

使用静态方法是否有性能提升?

1 个答案:

答案 0 :(得分:3)

不,没有性能提升:两个电话完全相同。当你写

Country country = myCountry.FirstOrDefault();

编译器识别出您正在调用扩展方法,并将其静静地转换为:

Country country = Enumerable.FirstOrDefault(myCountry);