Find和FirstOrDefault()有什么區別?


Find方法和FirstOrDefault方法效果相同,都是返回滿足條件的第一個元素,如果沒有該元素,則返回null。

那么這兩個擴展方法有什么不同?

1)Find方法是.netFramework2.0的,而FirstOrDefault是3.5的。

2)Find方法只能在List<T>上使用,而后者能更廣泛應用在IEnemerable<T>上。

3)依據http://stackoverflow.com/questions/14032709/performance-of-find-vs-firstordefault一文,

Find最終是建立在Array的查找之上,而在IEnemerable上的FirstOrDefault是使用foreach查找的。因此,Find速度會比FirstOrDefault快很多,據測試可能會快一倍以上。

結論:在List<T>上使用Find較速度較快,而其他IEnemrable<T>類型只能使用FirstOrDefault。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM